小记录2

54 阅读1分钟

977.有序数组的平方

暴力法是用一个数组存储已经算过平方的数组里的每个元素,但是实际上可以利用双指针,从最左和最右拿元素来做排序,原因是每次最大的数字之可能从这两个地方出来,这样可以将复杂度降低到 O(n)

209. Minimum Size Subarray Sum

暴力法必然是从每个元素开始划分subarry,然后看他的sum,这样复杂度是 exponential 的,可以利用滑动窗口将复杂度降低到O(n),思想是从左到右不断追加元素知道符合 target,然后在从左减去元素,只要一直满足 target 就继续操作,直到不满足为止,如果不满足 target 则继续向右拓展,直到数组的最后一个元素,这样复杂度是 O(n) 的,因为每个元素只会进或出一次

59. Spiral Matrix II

这道题实际上考的就是怎么通过循环来实现数字的填充,重点在于循环不变量,这题我设置的4个变量是要填充的边界,所以每次填充完一行或一列都要调整一条边界,在上下或左右相等后,不再填充,因为这时已经完成了~