Be the first user to complete this post

Add to List 
In an Array, find the Smallest Subarray with Sum Greater than the Given Value
Objective: Given an array and an integer, find the smallest subarray whose sum is greater than the given integer.
Examples:
arrA[] = { 1, 5, 20, 70, 8} Integer = 97 Output : Min Length = 3 Subarray = [20, 70, 8] arrA[] = { 1, 10, 3, 40, 18} Integer = 50 Output : Min Length = 2 Subarray = [40, 18]
Approach:
Naive Approach: Use 2 loops. Time Complexity  O(n^{2}).
Better Approach: Time Complexity  O(n)
 Initialize minLength = length of the array and say the given integer is x.
 Take variables currSum = 0, start = 0
 Do the linear scan in an array and start adding each element to the currSum.
 if currSum > x then start subtracting elements from the start.(currSumarrA[start]) check the length of the subarray, if it is less than the minLength (currentIndexstart<minLength)update minLength and store the current index and start index for finding the subarray.
Code:
Output:
Min length of subarray to get 50 is : 2 SubArray is: 40 18
Also Read: