PROBLEM 56: Maximum number of zeroes
(For best view experience, view in windows version)
Problem Reference : GeeksForGeeks
Author : Ajay ZadDate : 18/04/2023
Given an array arr[] of N values, the task is to find the number which has the maximum number of zeroes. If there are no zeroes then print -1.
Note: If there are multiple numbers with the same (max) number of zeroes then print the Maximum number among them.
Example 1:
Input: N = 5
arr[] = {10, 20, 3000, 9999, 200}
Output: 3000
Explanation: 3000 contains 3 zero's
in it.
Example 2:
Input: N = 4
arr[] = {1, 2, 3, 4}
Output: -1
Explanation: No zero is present.
SOLUTION:
def MaxZero(arr, n):
# Your code goes here
cnt = 0
l = []
for i in arr:
ii = str(i)
iii = ii.count('0')
if iii >= cnt:
cnt = iii
l.append(i)
if cnt == 0:
return -1
else:
ll = []
for i in l:
if str(i).count('0') == cnt:
ll.append(i)
return(max(ll))
if __name__ == '__main__':
t=int(input())
for _ in range(0,t):
n=int(input())
a=list(map(int,input().split()))
print(MaxZero(a,n))
Expected Time Complexity: O(N*M). where N is the size of array and M is the maximum length of a number in the array
Expected Auxiliary Space: O(1).
Constraints:
1 ≤ N ≤ 105
1 < A[i] < 10100
Given an array arr[] of N values, the task is to find the number which has the maximum number of zeroes. If there are no zeroes then print -1.
Note: If there are multiple numbers with the same (max) number of zeroes then print the Maximum number among them.
Example 1:
Input: N = 5
arr[] = {10, 20, 3000, 9999, 200}
Output: 3000
Explanation: 3000 contains 3 zero's
in it.
Example 2:
Input: N = 4
arr[] = {1, 2, 3, 4}
Output: -1
Explanation: No zero is present.
SOLUTION:
def MaxZero(arr, n):
# Your code goes here
cnt = 0
l = []
for i in arr:
ii = str(i)
iii = ii.count('0')
if iii >= cnt:
cnt = iii
l.append(i)
if cnt == 0:
return -1
else:
ll = []
for i in l:
if str(i).count('0') == cnt:
ll.append(i)
return(max(ll))
if __name__ == '__main__':
t=int(input())
for _ in range(0,t):
n=int(input())
a=list(map(int,input().split()))
print(MaxZero(a,n))
# Your code goes here
cnt = 0
l = []
for i in arr:
ii = str(i)
iii = ii.count('0')
if iii >= cnt:
cnt = iii
l.append(i)
if cnt == 0:
return -1
else:
ll = []
for i in l:
if str(i).count('0') == cnt:
ll.append(i)
return(max(ll))
if __name__ == '__main__':
t=int(input())
for _ in range(0,t):
n=int(input())
a=list(map(int,input().split()))
print(MaxZero(a,n))
Expected Time Complexity: O(N*M). where N is the size of array and M is the maximum length of a number in the array
Expected Auxiliary Space: O(1).
Constraints:
1 ≤ N ≤ 105
1 < A[i] < 10100
No comments:
Post a Comment