977.有序数组的平方
1.暴力
这个时间复杂度是 O(n + nlogn), 可以说是O(nlogn)的时间复杂度,但为了和下面双指针法算法时间复杂度有鲜明对比,我记为 O(n + nlog n)
2.双指针
此时的时间复杂度为O(n),相对于暴力排序的解法O(n + nlog n)还是提升不少的。
这里还是说一下,大家不必太在意leetcode上执行用时,打败多少多少用户,这个就是一个玩具,非常不准确。做题的时候自己能分析出来时间复杂度就可以了,至于leetcode上执行用时,大概看一下就行,只要达到最优的时间复杂度就可以了,一样的代码多提交几次可能就击败百分之了.....
209.长度最小的子数组
1.暴力(力扣题解中有代码)
时间复杂度:O(n^2)
空间复杂度:O(1)
后面力扣更新了数据,暴力解法已经超时了
2.滑动窗口
可以发现滑动窗口的精妙之处在于根据当前子序列和大小的情况,不断调节子序列的起始位置。从而将O(n^2)暴力解法降为O(n),空间复杂度o(1)
59.螺旋矩阵II
没得说,看就完了