今天每日好无聊
再一题
题目:
请问阵列里面的子阵列
数字加起来>=target 的最短子阵列
长度是多少
思路:
姆咪
sliding window 练习题
我看他下面的follow up 是
请问n logn的做法是什么
想了一下是prefix sum+二分搜
for每一个元素
往回找加起来>=target的最短的那个
这个比较慢
而且二分搜写起来很麻烦
就不写了
我要去刷fgo了
姆咪
```cpp
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums)
{
int res = INT_MAX;
int len = nums.size();
int l = 0 ;
int r = 0 ;
int now = 0;
for( r = 0 ; r < len ; r ++)
{
now += nums[r];
if(now >= target)res = min(r-l+1,res);
while(now >= target && l<r)
{
now-=nums[l];
l++;
if(now >= target)res = min(r-l+1,res);
}
}
if(res == INT_MAX)return 0;
return res;
}
};
```