Right most non zero digit
You will be given an array A of N non-negative integers. Your task is to find the rightmost non-zero digit in the product of array elements.
Example 1:
Input: N = 4, A = {3, 23, 30, 45} Output: 5 Explanation: Product of these numbers are 93150.Rightmost non-zero digit is 5.
Example 2:
Input: N = 5, A = {1, 2, 3, 4, 5} Output: 2 Explanation: Product of these numbers are 120. Rightmost non-zero digit is 2.
Your Task:
You don't need to read input or print anything. Your task is to complete the function rightmostNonZeroDigit() which takes an array A and returns the rightmost non-zero digit in the product of array elements, if there is no right most non zero digit, then return -1.
Expected Time Complexity: O(N*logN)
Expected Auxiliary Space: O(N)
Constraints:
1 ≤ N ≤ 105
0 ≤ A[i] ≤ 105
---------------------------------------------------------------------------------------------
class Solution:
def rightmostNonZeroDigit (self, N, A):
f=1
for i in range(N):
f=f*A[i]
if (f>0):
s=str(f)[::-1]
l=len(s)
for i in s:
if (int(i)!=0):
return int(i)
break
return -1
Comments
Post a Comment