/*HashMap + 二维数组排序*/ public int getZhongShu2_review(int[] nums) { HashMap<Integer, Integer> map = new HashMap<>(); for (int num : nums) { map.put(num, map.getOrDefault(num, 0) + 1); } Integer[][] n = new Integer[map.size()][2]; int index = 0; for (Integer k : map.keySet()) { Integer v = map.get(k); n[index++] = new Integer[]{k, v}; } Arrays.sort(n, (o1, o2) -> o2[1] - o1[1]); ArrayList<Integer> list = new ArrayList<>(); int maxV = n[0][1]; list.add(n[0][0]); for (int i = 1; i < n.length; i++) { if (n[i][1] == maxV) { list.add(n[i][0]); } else { break; } } int size = list.size(); return size % 2 == 1 ? list.get(size / 2) : (list.get(size / 2 - 1) + list.get(size / 2)) / 2; }
点赞 1

相关推荐

头像
04-02 20:00
点赞 评论 收藏
转发
牛客网
牛客企业服务