Re: [闲聊] 每日leetcode

楼主: oin1104 (是oin的说)   2024-08-09 10:17:27
今天每日好无聊
再一题
题目:
请问阵列里面的子阵列
数字加起来>=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;
}
};
```
作者: SydLrio (狂岚嘴砲)   2024-08-09 10:20:00
你有什么用
作者: mrsonic (typeB)   2024-08-09 10:22:00
刚好休息你有什么用

Links booklink

Contact Us: admin [ a t ] ucptt.com