Find SubArray with given Sum in Python
Hi, guys, we are given with the array or list in Python. Our task is to Find a subarray with given sum in Python.
You all should know about the subarray before attempting the given question. So I advise checking “What is a subarray?”
Algorithm part:-
- Make a function name find and pass the array, length of the given array and the sum to find in the array.
- Run a loop from 0 to length of the array.
- Take a variable name currsum and assign the first element of the array.
- now take a variable j and make it i+1
- Now if the j is less than or equal to n the while loop will run.
- If currsum is greate than the given sum or j is equal to n the break the loop or currsum is equal to given sum the print the indexes.
- If the above conditions are not satisfied.
Then add the next element to the currsum.
Python program: Find SubArray with given Sum
Now here is the code
def subsum(arr,n,sum):
for i in range(n):
currsum=arr[i]
j=i+1
while j<=n:
if currsum==sum:
print ("Sum found between")
print("indexes %d and %d"%( i, j-1))
return 1
if currsum>sum or j==n:
break
currsum=currsum+arr[j]
j+=1
print ("No subarray found")
return 0
# Driver program
print("Enter the array")
arr=list(map(int,input().split(" ")))
n=len(arr)
sum=int(input("Enter the sum to find in the array\n"))
subsum(arr,n,sum)Here is the output:-

Leave a Reply