Difficulty: Easy
Acceptance: %
Points: 20.00
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.
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.
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.
Expected Time Complexity: O(n)
Expected Auxiliary Space: O(n)