Largest subarray of 0's and 1's Python
PROGRAM TO FIND THE LARGEST SUBARRAY WITH EQUAL NUMBER OF 0s AND 1s
OUTPUT:
0 to 5
def
findSubArray(arr, n):
sum
=
0
maxsize
=
-
1
# Pick a starting point as i
for
i
in
range
(
0
, n
-
1
):
sum
=
-
1
if
(arr[i]
=
=
0
)
else
1
# Consider all subarrays starting from i
for
j
in
range
(i
+
1
, n):
sum
=
sum
+
(
-
1
)
if
(arr[j]
=
=
0
)
else
sum
+
1
# If this is a 0 sum subarray, then
# compare it with maximum size subarray
# calculated so far
if
(
sum
=
=
0
and
maxsize < j
-
i
+
1
):
maxsize
=
j
-
i
+
1
startindex
=
i
if
(maxsize
=
=
-
1
):
print
(
"No such subarray"
);
else
:
print
(startindex,
"to"
, startindex
+
maxsize
-
1
);
return
maxsize
# Driver program to test above functions
arr
=
[
1
,
0
,
0
,
1
,
0
,
1
,
1
]
size
=
len
(arr)
findSubArray(arr, size)
0 to 5
Comments
Post a Comment