[leetcode]209. Minimum Size Subarray Sum -- JavaScript 代码
2016-08-29 11:11
417 查看
/** * @param {number} s * @param {number[]} nums * @return {number} */ var minSubArrayLen = function(s, nums) { var len = nums.length; if(len === 0){ return 0; } var p1 = 0; var p2 = 0; var sum = nums[p1]; var minlen = Infinity; var isfind = false; while(p2<len){ if(sum < s){ p2++; sum += nums[p2]; }else{ isfind = true; if(p2-p1+1 < minlen){ minlen = p2-p1+1; } if(sum-nums[p1] >= s){ sum -= nums[p1]; p1++; }else{ p2++; sum += nums[p2]; } } } if(isfind){ return minlen; }else{ return 0; } };
这道题的思路是使用双指针,记录当前两指针指间数组元素和的大小sum,并根据sum值和s值的比对结果,来决定如何移动两个指针。
另外感觉这道题有一点点贪心算法的意思。
相关文章推荐
- [Leetcode]209. Minimum Size Subarray Sum
- 209. Minimum Size Subarray Sum LeetCode
- leetcode 209. Minimum Size Subarray Sum
- [LeetCode]209. Minimum Size Subarray Sum
- Leetcode 209. Minimum Size Subarray Sum
- LeetCode 209. Minimum Size Subarray Sum (O(n)实现)
- Leetcode 209. Minimum Size Subarray Sum (Medium) (cpp)
- leetcode ----209. Minimum Size Subarray Sum
- leetcode 209. Minimum Size Subarray Sum
- LeetCode 209. Minimum Size Subarray Sum
- leetcode 209. Minimum Size Subarray Sum
- 【LeetCode】209. Minimum Size Subarray Sum
- 【leetcode】209. Minimum Size Subarray Sum
- [LeetCode] 209. Minimum Size Subarray Sum
- 【leetcode】209. Minimum Size Subarray Sum
- leetcode leetcode 209 : Minimum Size Subarray Sum | Java最短代码实现
- LeetCode 209. Minimum Size Subarray Sum
- LeetCode 209. Minimum Size Subarray Sum(最小子数组之和)
- 【LeetCode】209. Minimum Size Subarray Sum
- [Leetcode]209. Minimum Size Subarray Sum