LeetCode(209)Minimum Size Subarray Sum

来源:互联网 发布:java sftp jcraft 编辑:程序博客网 时间:2024/05/22 14:13

花了比较长的时间理解滑动窗口法的原理,至于在什么情况下想到用滑动窗口法,以及滑动窗口话的原理可以参考下面两篇博文,写的非常好。
在什么情况下用滑动窗口法博文
滑动窗口法的原理博文
下面的代码我应该当做模板背诵,keep in mind this solution as template.
代码如下:

class Solution {public:    int minSubArrayLen(int target, vector<int>& nums) {        int length = nums.size();        int left = 0;        int right = 0;        int minLength = length + 1;        int sum = 0;        while(right < length) {            sum += nums[right];            while(left <= right && sum >= target) {                minLength = min(right - left + 1, minLength);                sum -= nums[left];                left++;            }            right++;        }        return minLength == length + 1 ? 0 : minLength;    }};
0 0