题目:2190.数组中紧跟 key 之后出现最频繁的数字

​​题目来源:

        leetcode题目,网址:2190. 数组中紧跟 key 之后出现最频繁的数字 - 力扣(LeetCode)

解题思路:

       遍历数组,使用哈希表计数,然后再从哈希表中找到出现次数最多的并返回即可。

        注意, key,key,key 序列中 key 的出现次数是 2 而不是 1 或 0。

解题代码:

class Solution {
    public int mostFrequent(int[] nums, int key) {
        Map map=new HashMap<>();
        boolean flag=false;
        for(int num:nums){
            if(flag){
                map.put(num,map.getOrDefault(num,0)+1);
                if(num!=key)
                    flag=false;
            }else if(num==key){
                flag=true;
            }
        }
        
        int res=0;
        int biggest=0;
        for(Map.Entry entry:map.entrySet()){
            if(entry.getValue()>biggest){
                res=entry.getKey();
                biggest=entry.getValue();
            }
        }

        return res;
    }
}
 
  

总结:

       官方题解也是一样的思路。


你可能感兴趣的:(#,java,leetcode,java)