How to find the subarray whose sum is equal to a given number N in Python

1 Answer

0 votes
def PrintSubarrayWithSumEqualToN(arr,  N) :
    size = len(arr)
    i = 0
    while (i < size) :
        current_sum = arr[i]
        if (current_sum == N) :
            print("Sum found at index: " + str(i), end ="")
            return
        else :
            j = i + 1
            while (j < size) :
                current_sum += arr[j]
                if (current_sum == N) :
                    print("Sum found between index " + str(i) + " and " + str(j))
                    k = i
                    while (k <= j) :
                        print(str(arr[k]) + " ", end ="")
                        k += 1
                    return
                elif(current_sum > N) :
                    break
                j += 1
        i += 1
    print("No subarray found", end ="")


arr = [2, 5, 8, 9, 1, 7, 12, 21, 19]
N = 52

PrintSubarrayWithSumEqualToN(arr, N)




'''
run:
    
Sum found between index 6 and 8
12 21 19 

'''

 



answered Sep 26, 2022 by avibootz
...