Problems

Majority Element

easy
easy
arrays
hashmap

Given an array nums of size n, return the majority element.

The majority element is the element that appears more than ⌊n / 2⌋ times. You may assume that the majority element always exists in the array.

Examples

  1. nums = [3, 2, 3] returns 3.
  2. nums = [2, 2, 1, 1, 1, 2, 2] returns 2.

Constraints

  • n == nums.length
  • 1 <= n <= 5 * 10^4
  • -10^9 <= nums[i] <= 10^9
  • The majority element is guaranteed to exist.

Follow up

Could you solve the problem in linear time and in O(1) space? (Hint: Boyer-Moore voting algorithm.)

Examples

Example 1

Input: nums = [3,2,3]
Output: 3

Example 2

Input: nums = [2,2,1,1,1,2,2]
Output: 2

Example 3

Input: nums = [1]
Output: 1
🔒 5 hidden

Running will execute all 8 cases, including 5 hidden ones.