229. 多数元素 II

229. 多数元素 II

  • 原题链接:
  • 完成情况:
  • 解题思路:
  • 参考代码:

原题链接:

229. 多数元素 II

https://leetcode.cn/problems/majority-element-ii/description/

完成情况:

229. 多数元素 II_第1张图片

解题思路:

我们用哈希统计数组中每个元素出现的次数,设数组的长度为 nnn,返回所有统计次数超过 ⌊n3⌋。

参考代码:

package 中等题;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class __229多数元素II__哈希统计 {
    public List<Integer> majorityElement(int[] nums) {
        /*
        1 <= nums.length <= 5 * 104
        -10^9 <= nums[i] <= 10^9
         */
        HashMap<Integer,Integer> count = new HashMap<Integer,Integer>();
        for (int i=0;i< nums.length;i++){
            if (count.containsKey(nums[i])){
                count.put(nums[i],count.get(nums[i] + 1));
            }else {
                count.put(nums[i],1 );
            }
        }
        List<Integer> res = new ArrayList<>();
        for (int key : count.keySet()){
            if (count.get(key) >nums.length/3){
                res.add(key);
            }
        }
        return res;
    }
}

你可能感兴趣的:(#,LeetCode题解,java,开发语言,数据结构,leetcode)