您的位置:首页 > 其它

LeetCode 209. Minimum Size Subarray Sum

2016-04-25 16:10 495 查看
class Solution {
public:
int minSubArrayLen(int s, vector<int>& nums) {
int mmin = numeric_limits<int>::max();
if(nums.size() ==0 ) return 0;

int start = -1,end = 0;
int sum = 0;
while(1){
if(start == nums.size()) break;
if(sum >= s)
{
int temp = start - end + 1;
mmin = mmin<temp?mmin:temp;
sum = sum - nums[end];
end++;
}
else
{
start++;
sum = sum + nums[start];
}
}
if(mmin == numeric_limits<int>::max())  return 0;
else    return mmin;
}
};
两个指针,作为滑动窗口,当窗口合大于所给数字时,缩小窗口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: