题解 | #草原上优势牛种#
草原上优势牛种
https://www.nowcoder.com/practice/178705f48adc4e39ac8537a22e8941cd
题解 | 草原上优势牛种
语言: C++
知识点: 哈希表
分析: 本题要求数组中出现次数最多的数,可以在遍历过程中使用unordered_map
记录数字及其出现的次数,同时定义一个maxN
变量记录当前的出现次数最大值,若在遍历过程中数字出现次数大于maxN
,则将其更新为新的最大值并使用res
变量记录该数字,最终遍历完成后返回res
即可。
代码实现:
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型
*/
int majority_cow(vector<int>& nums) {
unordered_map<int, int> mp;
int maxN = 0, res;
for(int n : nums)
{
mp[n]++; // 该数出现次数加一
if(mp[n] > maxN)
{
maxN = mp[n]; // 更新最大值
res = n; // 同时记录该数字
}
}
return res;
}
};