本文最后更新于635 天前,其中的信息可能已经过时,如有错误请发送邮件到tomding1065@gmail.com
题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/
视频讲解:https://www.bilibili.com/video/BV1tZ4y1q7XE
1.双指针,给我一种快慢指针的感觉,没接触过滑动窗口,上次听到这个名字还是在html里。
2.看了代码随想录,感觉今天的难度增加不少,看了滑动窗口的思路,自己写了一遍感觉有点问题,看了代码之后发现自己的欠缺,没怎么用过三目运算符,也是看了一会这两个三目运算,所幸还算可以。
3.这里面对于我来说最难的就是对于>= <=的=是否有等号,感觉自己的思路不够缜密。
CPP
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int sum = 0;
int i =0;
int res = INT32_MAX;
int len = 0;
for(int j =0;j<nums.size();j++){
sum += nums[j];
while(sum>=target){
len = (j - i +1);
res = res< len ? res:len;
sum -= nums[i];
i++;
}
}
return res == INT32_MAX? 0:res;
}
};