045 · Majority Element

algorithm
Published

June 24, 2026

Problem

给定一个整数数组 nums

请返回:数组中的多数元素。

多数元素指的是:在数组中出现次数大于 nums.length / 2 的元素。

题目保证:多数元素一定存在。

例如:

nums = [3, 2, 3]

数组长度是 3,多数元素需要出现超过 1.5 次。

数字 3 出现了 2 次,所以答案是:

3

再比如:

nums = [2, 2, 1, 1, 1, 2, 2]

数组长度是 7,多数元素需要出现超过 3.5 次。

数字 2 出现了 4 次,所以答案是:

2

Examples

示例 1

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

解释:3 出现了 2 次,超过数组长度的一半。

示例 2

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

解释:2 出现了 4 次,超过数组长度的一半。

示例 3

Input:  nums = [1]
Output: 1

解释:数组里只有一个元素,所以它就是多数元素。

Constraints

  • \(1 \leq\) nums.length \(\leq 5 \times 10^4\)
  • \(-10^9 \leq\) nums[i] \(\leq 10^9\)
  • 多数元素一定存在