码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode() Minimun Size Subarray Sum

时间:2015-11-19 23:53:21      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

别人的代码

class Solution {
public:
    int minSubArrayLen(int s, vector<int>& nums) {
         int l, r, cum, res = nums.size()+1;
    l = r = cum = 0;
    while ((unsigned int)r < nums.size()) {
        cum += nums[r++];
        while (cum >= s) {
            res = min(res, r-l);
            cum -= nums[l++];
        }
    }
    return res<=nums.size()?res:0;
    }
};

我的 280ms

class Solution {
public:
    int minSubArrayLen(int s, vector<int>& nums) {
        vector<int> res;
        int start=0,end=0,len=INT_MAX;
        for(int end=0;end<nums.size();++end)
        {
             while(sum(nums,s,start,end) && start<=end)
             {
                 (end-start+1 < len)? len=end-start+1:len;
                 start++;
             }
        }
        if(len == INT_MAX)
            return 0;
        return len;
    }
    bool sum(vector<int>& nums,int s,int i,int j)
    {
        for(int k=i;k<=j;++k)
            s=s-nums[k];
        return s<=0;
    }
};

 

LeetCode() Minimun Size Subarray Sum

标签:

原文地址:http://www.cnblogs.com/yanqi110/p/4979348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!