多一些Aha Time,发现技术的|

啊原来是这样呀

园龄:8年3个月粉丝:3关注:9

随笔分类 -  算法刷题之旅

【LeetCode】3.链表系列
摘要:总目录: LeetCode系列导航目录 像我这样优秀的人,本该灿烂过一生, 这么多天LeetCode刷下来,还在链表里浮沉。 0.理论基础 0.1.要点 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向nu
27
0
0
【LeetCode】2.数组系列
摘要:总目录: LeetCode系列导航目录 0.理论基础 0.1.要点 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以方便的通过下标索引的方式获取到下标下对应的数据。 在删除或者增添元素的时候,就难免要移动其他元素的地址,只能覆盖而不能删除。 多维数组的地址也是连续的。 1.二分查找 1.1
28
0
0
【LeetCode】1.LeetCode系列——序
摘要:1.背景 刷完《剑指offer》系列之后,确实增长了不少认知,基本上对每个算法子领域都有了一定的认识,尤其是中间补了一下五大算法和十大排序的课。 在二刷《剑指offer》之后,觉得这个系列的题量还是有点少,这样搭建起来的知识体系还是有点过拟合的,遂决定再刷300道LeetCode上的题。 在刷Lee
74
0
0
【剑指offer】80.剪绳子(进阶版)
摘要:总目录: 算法之旅导航目录 1.问题描述 给你一根长度为 n 的绳子,请把绳子剪成整数长的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳子的长度记为 k[1],...,k[m] 。请问 k[1]*k[2]*...*k[m] 可能的最大乘积是多少?例如,
21
0
0
【剑指offer】79.剪绳子
摘要:总目录: 算法之旅导航目录 1.问题描述 给你一根长度为 n 的绳子,请把绳子剪成整数长的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳子的长度记为 k[1],...,k[m] 。请问 k[1]*k[2]*...*k[m] 可能的最大乘积是多少?例如,
29
0
0
【剑指offer】78.字符流中第一个不重复的字符
摘要:总目录: 算法之旅导航目录 1.问题描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符 "go" 时,第一个只出现一次的字符是 "g" 。当从该字符流中读出前六个字符 “google" 时,第一个只出现一次的字符是"l"。 如果当前字符流没有存在仅出现一次
19
0
0
【剑指offer】77.孩子们的游戏(圆圈中最后剩下的数)
摘要:总目录: 算法之旅导航目录 1.问题描述 每年六一儿童节,牛客都会准备一些小礼物和小游戏去看望孤儿院的孩子们。其中,有个游戏是这样的:首先,让 n 个小朋友们围成一个大圈,小朋友们的编号是0~n-1。然后,随机指定一个数 m ,让编号为0的小朋友开始报数。每次喊到 m-1 的那个小朋友要出列唱首歌,
43
0
0
【剑指offer】76.左旋转字符串
摘要:总目录: 算法之旅导航目录 1.问题描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列 S ,请你把其循环左移 K 位后的序列输出。例如,字符序列 S = ”abcXYZdef” , 要求输出循环左移 3 位后的结果,
24
0
0
【剑指offer】75.和为S的两个数字
摘要:总目录: 算法之旅导航目录 1.问题描述 输入一个升序数组 array 和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,返回任意一组即可,如果无法找出这样的数字,返回一个空数组即可。 数据范围: 0≤len(array)≤10^5​​ , 1≤array[i]≤10
52
0
0
【剑指offer】74.和为S的连续正数序列
摘要:总目录: 算法之旅导航目录 1.问题描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。
33
0
0
【剑指offer】73.丑数
摘要:总目录: 算法之旅导航目录 1.问题描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第 n个丑数。 数据范围:0≤n≤2000 要求:空间复杂度 O(n), 时间复杂度 O
22
0
0
【剑指offer】72.把数组排成最小的数
摘要:总目录: 算法之旅导航目录 1.问题描述 输入一个非负整数数组numbers,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组[3,32,321],则打印出这三个数字能排成的最小数字为321323。 1.输出结果可能非常大,所以你需要返回一个字符串而不是整数 2
30
0
0
【剑指offer】71. 整数中1出现的次数(从1到n整数中1出现的次数)
摘要:总目录: 算法之旅导航目录 1.问题描述 输入一个整数 n ,求 1~n 这 n 个整数的十进制表示中 1 出现的次数 例如, 1~13 中包含 1 的数字有 1 、 10 、 11 、 12 、 13 因此共出现 6 次 注意:11 这种情况算两次 数据范围: 1≤n≤30000 进阶:空间复杂度
53
0
0
【剑指offer】70.调整数组顺序使奇数位于偶数前面(一)
摘要:总目录: 算法之旅导航目录 1.问题描述 输入一个长度为 n 整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 数据范围:0≤n≤5000,数组中每个数的值 0≤val≤10000 要求:
18
0
0
【剑指offer】69.调整数组顺序使奇数位于偶数前面(二)
摘要:总目录: 算法之旅导航目录 1.问题描述 输入一个长度为 n 整数数组,数组里面可能含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,对奇数和奇数,偶数和偶数之间的相对位置不做要求,但是时间复杂度和空间复杂度必须如下要求。 数据范围
23
0
0
【剑指offer】68.数组中出现次数超过一半的数字
摘要:总目录: 算法之旅导航目录 1.问题描述 给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 数据范围:n≤50000,数组中元素的
34
0
0
【剑指offer】67.替换空格
摘要:总目录: 算法之旅导航目录 1.问题描述 请实现一个函数,将一个字符串s中的每个空格替换成“%20”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 数据范围:0≤len(s)≤1000。保证字符串中的字符为大写英文字母、小写英文字母和空格中的
27
0
0
【剑指offer】66.第一个只出现一次的字符
摘要:总目录: 算法之旅导航目录 1.问题描述 在一个长为 字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数) 数据范围:0≤n≤10000,且字符串只有字母组成。 要求:空间复杂度 O(n),时间复杂度 O(n) 2.问题分析 1哈希 看到查找
38
0
0
【剑指offer】65.构建乘积数组
摘要:总目录: 算法之旅导航目录 1.问题描述 给定一个数组 A[0,1,...,n-1] ,请构建一个数组 B[0,1,...,n-1] ,其中 B 的元素 B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1](除 A[i] 以外的全部元素的的乘积)。程序中不能使用除法
20
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起