Longest Sub-Array with Sum K Python
PROGRAM TO FIND THE LONGEST SUB-ARRAY SUM K
OUTPUT:
Length = 4
def
lenOfLongSubarr(arr, n, k):
# dictionary mydict implemented
# as hash map
mydict
=
dict
()
# Initialize sum and maxLen with 0
sum
=
0
maxLen
=
0
# traverse the given array
for
i
in
range
(n):
# accumulate the sum
sum
+
=
arr[i]
# when subArray starts from index '0'
if
(
sum
=
=
k):
maxLen
=
i
+
1
# check if 'sum-k' is present in
# mydict or not
elif
(
sum
-
k)
in
mydict:
maxLen
=
max
(maxLen, i
-
mydict[
sum
-
k])
# if sum is not present in dictionary
# push it in the dictionary with its index
if
sum
not
in
mydict:
mydict[
sum
]
=
i
return
maxLen
# Driver Code
if
__name__
=
=
'__main__'
:
arr
=
[
10
,
5
,
2
,
7
,
1
,
9
]
n
=
len
(arr)
k
=
15
print
(
"Length ="
, lenOfLongSubarr(arr, n, k))
Length = 4
Comments
Post a Comment