今天每日好無聊
再一題
題目:
請問陣列裡面的子陣列
數字加起來>=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;
}
};
```