5)Longest Sub-Array with Sum K -(sliding window |variable size)

Given an array containing N integers and an integer K., Your task is to find the length of the longest Sub-Array with the sum of the elements equal to the given value K.

 

Example 1:
 

Input :
A[] = {10, 5, 2, 7, 1, 9}
K = 15
Output : 4
Explanation:
The sub-array is {5, 2, 7, 1}.



method:

sliding window ,works only for positive numbers.


c++ implementation:

 int lenOfLongSubarr(int a[],  int n, int k) 
{ int i=0;int j=0; int s=0;int len=0; while(j<n) { s=s+a[j]; if(s==k) { len=max(len,j-i+1); } else if(s>k) { while(s>k) { s=s-a[i]; i++; } if(s==k) { len=max(len,j-i+1); } } j++; } return len; }
Time Complexity: O(n) 
space Complexity: O(1) 



darkmode