MASTER-松哥 2021-01-28 20:01 采纳率: 25%
浏览 10
已采纳

使用java或c语言实现打印出现两次的数字

在十万个数字里筛选出出现两次以上的数字,如1,2,3,4,5,6,7,7,8,8,8,9,9,9......,则打印出7,8,9.

我是觉得可以用java的map集合,我需要具体实现的源代码,希望能够给出解题思路和源代码,尤其是使用Java语言map集合方法。

  • 写回答

6条回答 默认 最新

  • allway2 2021-01-28 20:40
    关注

    import java.util.*;

    public class DuplicateElements {
        public static void main(String args[]) {
            int count, i;
            int[] intArray = { 1, 2, 3, 4, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9 };
            Map<Integer, Integer> map = new HashMap<Integer, Integer>();

            // Count frequency of elements in array
            for (Integer val : intArray) {
                if (map.containsKey(val)) {
                    // Increment counter
                    map.put(val, map.get(val) + 1);
                } else {
                    map.put(val, 1);
                }
            }

            // Check for duplicate element
            System.out.println("Duplicate Elements\n");
            Set<Integer> keys = map.keySet();
            for (Integer key : keys) {
                if (map.get(key) > 1) {
                    System.out.print(key + " ");
                }
            }

        }
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料