#include <vector>
#include <algorithm>
using namespace std;
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int result = INT_MAX;
bool flag = false;
int sum = 0;
int left = 0;
for (int right = 0; right < nums.size(); right++)
{
sum +=nums[right];
while (sum>=target)
{
flag =true;
result = min(result,right-left+1);
sum-=nums[left];
left++;
}
}
return flag? result:0;
}
// int minSubArrayLen(int target, vector<int>& nums) {
// int result = INT_MAX;
// bool flag = false;
// for (int left = 0; left < nums.size(); left++)
// {
// int right = left;
// int sum = 0;
// int count = 0;
// while (right<nums.size()&&sum<target)
// {
// sum+=nums[right];
// count++;
// right++;
// }
// if(sum>=target)
// {
// result = min(result,count);
// flag =true;
// }
// }
// return flag? result:0;
// }
};
长度最小的子数组【leetcode 209】
最新推荐文章于 2024-05-27 16:48:23 发布