input1, input2, input3 and input4 are the four given input numbers.
The function is expected to find and return the most frequent digit.
Example1 –
If input1=123, input2=234, input3=345, input4=673
We see that across these four numbers,
1, 5, 6 and 7 occur once,
2 and 4 occur twice, and
3 occurs four times.
Therefore, 3 is the most frequent digit and so the function must return 3
NOTE: If more than a digit occurs the same number of most times, then the highest of those digits should be the result. Below example illustrates this.
Example2 –
If input1=123, input2=456, input3=345, input4=5043
We see that
0, 1, 2 and 6 occur once, and
3, 4 and 5 occur thrice.
As there are three digits (3, 4 and 5) that occur most number of times, the result will be the highest (max) digit out of these three. Hence, the result should be 5
Let us see couple of more examples
# Finds maximum occurring digit
# without using any array/string
 
# Simple function to count
# occurrences of digit d in x
def countOccurrences(x, d):
    count = 0; # Initialize count
               # of digit d
    while (x):
         
        # Increment count if current
        # digit is same as d
        if (x % 10 == d):
            count += 1;
        x = int(x / 10);
 
    return count;
 
# Returns the max occurring
# digit in x
def maxOccurring(x):
     
    # Handle negative number
    if (x < 0):
        x = -x;
     
    result = 0; # Initialize result
                # which is a digit
    max_count = 1; # Initialize count
                   # of result
     
    # Traverse through all digits
    for d in range(10):
         
        # Count occurrences of current digit
        count = countOccurrences(x, d);
         
        # Update max_count and
        # result if needed
        if (count >= max_count):
            max_count = count;
            result = d;
         
    return result;
 
# Driver Code
x = 1223355;
print("Max occurring digit is",
              maxOccurring(x))
Comments