东营市建设网站网站域名费一年多少钱
1.题目描述
2.思路
补充1:
思路1:
(1)我打算用hashmap的getOrDefault()取键的值。
(2)m.keySet() 是一个方法,用于获取 HashMap 中所有的键(key)。(3)keySet() 返回的是一个包含所有键的 集合(Set),你可以通过这个集合来遍历所有的键。
3.代码实现
class Solution {public int majorityElement(int[] nums) {HashMap<Integer,Integer> m =new HashMap();// 1. 统计每个元素出现的频率for(int c:nums){m.put(c,m.getOrDefault(c,0)+1);}// //通过m.values(),我们可以获取到所有字符的出现次数。// for(int cnt:m.values())// {// if()// }int n=nums.length;// 2. 找到出现次数最多的元素,且它的出现次数大于 n / 2for(int cnt:m.keySet()){if(m.get(cnt)>n/2){return cnt;}}// 3.如果没有众数,返回 -1(这通常不会发生,因为题目保证有众数)return -1;}
}