Live Batches
Masterclasses
Menu
Free Courses
Account
Login / Sign Up

Winner of an election

Easy Acceptance 53.75% Points 20

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.

Examples
Example 1

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

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.

Constraints
  • 1 <= n <= 10^5
  • 1 <= |arri| <= 10^5
Hints
  • Expected Time Complexity: O(n)
  • Expected Auxiliary Space: O(n)
Topics
String Hashing
Companies
Adobe Atlassian
Added 03 Jan 2025 53.75% acceptance
Ln 1, Col 1Sign in to save your code
5
alice bob alice charlie bob
alice 2