双非代码训练营|奋斗第二天
LeetCode209 长度最小的子数组
知识点涉及:滑动窗口
我先是暴力循环了,时间复杂度是O(n^3)太高(我这里想的是窗体长度从0开始每轮固定大小遍历,然后再加长度直到10)但是滑动窗体的长度是随时变化的)。
以下是滑动窗口的方法o(n):
和第一天的双指针有点像,这里用终止指针j来完成一次for循环。而起始指针i仅仅需要在sum>=targe的时候往右移。(1,1,1,1,100),targe = 100,那么i会在j= 4的时候左移4次。这里如果用起始指针做for循环,那么终止指针也要不断遍历,和2个for没区别。
Leetcode59 螺旋矩阵题目
按左闭右开的规律记入n*n的数组里。每边最后一个数不算这一条边的,所以要考虑边界数值的处理。
卡码网58 区间和题目
涉及知识点:前缀和
卡码网44 开发商购买土地题目
也是利用前缀和
开发商购买土地,也是求前缀和,但是这是一个二维数组,要取行和列分别的前缀和