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.
Approach, complexity and clean code in every language. Sign in to unlock the editorial.
Your submissions, results and runtime history live here. Sign in to start your streak.
5 alice bob alice charlie bob
alice 2
7 zara adam zara mike adam mike adam
adam 3