
【剑指offer】
Loren灬
“一”
展开
-
“跳台阶扩展问题”
描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。 数据范围:1≤n≤20 进阶:空间复杂度O(1), 时间复杂度O(1) 示例1 输入:3 返回值:4 示例2 输入:1 返回值:1 思路一:循环 class Solution { public: int jumpFloorII(int number) { if(number < 2) return 1; ...原创 2022-02-11 11:17:41 · 362 阅读 · 0 评论 -
“连续子数组的最大和”
描述 输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,子数组最小长度为1。求所有子数组的和的最大值。 数据范围: 1<=n<=2×10^5 −100<=a[i]<=100 要求:时间复杂度为 O(n),空间复杂度为 O(n) 进阶:时间复杂度为 O(n),空间复杂度为 O(1) 示例1 输入:[1,-2,3,10,-4,7,2,-5] 返回值:18 说明:经分析可知,输入数组的子数组[3,10,-4,7,2]可以求得最大和为18原创 2022-02-11 10:40:50 · 108 阅读 · 0 评论 -
“数据流中的中位数”
描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 数据范围:数据流中数个数满足 1 <= n <= 1000,大小满足 进阶: 空间复杂度, 时间复杂度 示例1 输入:[5,2,3,4,1,6,7,0,8] 返回值:"5.00 3.5...原创 2022-01-13 10:28:18 · 253 阅读 · 0 评论 -
“字符串的排列”
描述 输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。 例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。 数据范围:n < 10n<10 要求:空间复杂度O(n!)O(n!),时间复杂度O(n!)O(n!) 输入描述: 输入一个字符串,长度不超过10,字符只包括大小写字母。 示例1 输入:"ab" 返回值:["ab","ba"] 说明:返回["ba","..原创 2022-01-09 09:18:45 · 478 阅读 · 0 评论