Given an array of n names arr of candidates in an election, where each name is a string of lowercase characters. A candidate name in the array represents a vote casted to the candidate. Print the name of the candidate that received the maximum count of votes. If there is a draw between two candidates, then print lexicographically smaller name.
Example 1
Input: n = 5, arr[] = {alice, bob, alice, charlie, bob}
Output: alice 2
Explanation: Alice and Bob both received 2 votes each. Since Alice is lexicographically smaller than Bob, we print Alice and the number of votes she received.
Example 2
Input: n = 7, arr[] = {zara, adam, zara, mike, adam, mike, adam}
Output: adam 3
Explanation: Adam received 3 votes, while Zara and Mike each received 2 votes. Since Adam received the highest votes, we printed Adam and the number of votes.
Sign in to write, run, and submit your solution against the full test suite.