1. 程式人生 > >Leetcode 209: Minimum Size Subarray Sum

Leetcode 209: Minimum Size Subarray Sum

urn bar div while public ima ger pub ini

Given an array of n positive integers and a positive integer s, find the minimal length of a contiguous subarray of which the sum ≥ s. If there isn‘t one, return 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.

 1
public class Solution { 2 public int MinSubArrayLen(int s, int[] nums) { 3 int result = Int32.MaxValue, sum = 0, i = 0, j = 0; 4 5 while (j < nums.Length) 6 { 7 sum += nums[j]; 8 9 while (i <= j && sum >= s)
10 { 11 result = Math.Min(result, j - i + 1); 12 sum -= nums[i]; 13 i++; 14 } 15 16 j++; 17 } 18 19 return result == Int32.MaxValue ? 0 : result; 20 } 21 }

Leetcode 209: Minimum Size Subarray Sum