文章目录
-
-
- [1. 题目链接](#1. 题目链接)
- [2. 题目大意](#2. 题目大意)
- [3. 示例](#3. 示例)
- [4. 解题思路](#4. 解题思路)
- [5. 参考代码](#5. 参考代码)
-
1. 题目链接
2. 题目大意
描述:给定一个大小为 n 的数组 nums
。
要求:返回其中相同元素个数最多的元素。
说明:
- n==nums.length。
- 1≤n≤5∗104。
- −109≤nums[i]≤109。
3. 示例
java
输入:nums = [3,2,3]
输出:3
java
输入:nums = [2,2,1,1,1,2,2]
输出:2
4. 解题思路
- 遍历数组
nums
。 - 对于当前元素
num
,用哈希表统计每个元素num
出现的次数。 - 再遍历一遍哈希表,找出元素个数最多的元素即可。
5. 参考代码
java
class Solution {
public int majorityElement(int[] nums) {
int x=0, vote=0;
for(int num : nums){
if(vote==0) x=num;
vote += num==x ? 1 : -1;
}
return x;
}
}