LeetCode 209 Minimum Size Subarray Sum
2016-08-30 13:06
267 查看
Given an array of n positive integers and a positive integer s, find the minimal length of a subarray of which the sum ≥ s. If there isn't one, return
0 instead.
For example, given the array
the subarray
click to show more practice.
More practice:
If you have figured out the O(n) solution, try coding another solution of which the time complexity is O(n log n).
Runtime: 1
ms
O(n)
time, O(1) space moving window method
using a moving window [left,i] to calculate the sum, first move i forward to get a sub-array with sum>=s, then move left forward to
make sum < s, then move end again,..., until i reach the end of array.
0 instead.
For example, given the array
[2,3,1,2,4,3]and
s = 7,
the subarray
[4,3]has the minimal length under the problem constraint.
click to show more practice.
More practice:
If you have figured out the O(n) solution, try coding another solution of which the time complexity is O(n log n).
Runtime: 1
ms
O(n)
time, O(1) space moving window method
using a moving window [left,i] to calculate the sum, first move i forward to get a sub-array with sum>=s, then move left forward to
make sum < s, then move end again,..., until i reach the end of array.
public int minSubArrayLen(int s, int[] nums) { int min = Integer.MAX_VALUE, left = 0; for (int i = 0; i < nums.length; i++) { s -= nums[i]; while (s <= 0) { min = Math.min(min, i - left + 1); s += nums[left++]; } } return min == Integer.MAX_VALUE ? 0 : min; }
相关文章推荐
- <LeetCode OJ>Minimum Size Subarray Sum【209】
- 【leetcode】Array—— Minimum Size Subarray Sum(209)
- [LeetCode 209] Minimum Size Subarray Sum
- 【LeetCode 209】Minimum Size Subarray Sum
- Minimum Size Subarray Sum - LeetCode 209
- leetcode 76 Minimum Window Substring/ 209 Minimum Size Subarray Sum
- leetcode209-Minimum Size Subarray Sum(最小长度子数组和)
- leetcode 209: Minimum Size Subarray Sum
- LeetCode 209 Minimum Size Subarray Sum
- Leetcode209-Minimum Size Subarray Sum
- [Leetcode 209, Medium] 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(C++)
- LeetCode 209 - Minimum Size Subarray Sum
- LeetCode 209 Minimum Size Subarray Sum (尺取法)
- leetcode_c++:Minimum Size Subarray Sum (209)