Row with max 1s Python
- Get link
- X
- Other Apps
PROGRAM TO FIND THE ROW WITH MAXIMUM NUMBER OF 1s
# Function to find the index
# of first index of 1 in a
# boolean array arr[]
def
first( arr, low, high):
if
high >
=
low:
# Get the middle index
mid
=
low
+
(high
-
low)
/
/
2
# Check if the element at
# middle index is first 1
if
(mid
=
=
0
or
arr[mid
-
1
]
=
=
0
)
and
arr[mid]
=
=
1
:
return
mid
# If the element is 0,
# recur for right side
elif
arr[mid]
=
=
0
:
return
first(arr, (mid
+
1
), high)
# If element is not first 1,
# recur for left side
else
:
return
first(arr, low, (mid
-
1
))
return
-
1
# Function that returns
# index of row with maximum
# number of 1s.
def
rowWithMax1s( mat):
# Initialize max values
R
=
len
(mat)
C
=
len
(mat[
0
])
max_row_index
=
0
max
=
-
1
# Traverse for each row and
# count number of 1s by finding
# the index of first 1
for
i
in
range
(
0
, R):
index
=
first (mat[i],
0
, C
-
1
)
if
index !
=
-
1
and
C
-
index >
max
:
max
=
C
-
index
max_row_index
=
i
return
max_row_index
# Driver Code
mat
=
[[
0
,
0
,
0
,
1
],
[
0
,
1
,
1
,
1
],
[
1
,
1
,
1
,
1
],
[
0
,
0
,
0
,
0
]]
print
(
"Index of row with maximum 1s is"
,
rowWithMax1s(mat))
OUTPUT
Index of row with maximum 1s is 2
- Get link
- X
- Other Apps
Comments
Post a Comment