← 返回 Kata
EasyLeetCode2026-06-24原题 ↗

045Majority Element

arrayhash-table

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

  • 11 \leq nums.length 5×104\leq 5 \times 10^4
  • 109-10^9 \leq nums[i] 109\leq 10^9
  • 多数元素一定存在

最初怎么想、怎样补完整、最后如何落成。