【LeetCode】给出一个数组,求出现次数最多的那个数字及其出现次数

用HashMap<Integer, Integer>,数组元素做key,出现次数做value;遍历数组,出现一次,value++;
代码:

public class CountNumber{
  
    public static void mian(String[] args){
        int[] arr = {1,2,3,4,8,2,2,5,3,1,2,4,5,2}
        int[] ans = maxTimsx(arr);
        System.out.println("数字:" + ans[0] + "出现" + ans[1] + "次")
    }  

    public static int[] maxTimes(int[] arr){
        if(arr == null || arr.length < 1){
                return null;
        }
        HashMap<Integer,Integer> map = new HashMap<Integer,Integer>();
        
        int times = 0;
        int number = 0;

        for(i=0;i<arr.length;i++){
            if(map.get(arr.[i]) == null){
                map.put(arr[i],1)
            }
        }else{
            integer value = map.get(arr[i]) + 1;
            map.put(arr[i],value)
            if(value > times){
                times = value;
                number = arr[i];
            }
        }

        return new int[] {number,times};
    }
}

猜你喜欢

转载自blog.csdn.net/CSDN_fzs/article/details/89366920