AlgoLounge

Majority Element

easy

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

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

Constraints

  • 1 <= nums.length <= 5 * 10^4
  • -10^9 <= nums[i] <= 10^9
  • The majority element always exists in the array

Follow-up

Could you solve this in linear time with O(1) space complexity?

TypeScript
Loading editor…
List of test cases (8)
Case 1
nums = [3,2,3]
Case 2
nums = [2,2,1,1,1,2,2]
Case 3
nums = [1]
Case 4
nums = [1,1,1,1]
Case 5
nums = [5,5,5,1,1]
Case 6
nums = [1,2,3,3,3]
Case 7
nums = [-1,-1,-1,1,2]
Case 8
nums = [10,9,9,9,10]