zoukankan      html  css  js  c++  java
  • 逻辑题(一)一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字。

    package test;
    import java.util.*;
    
    public class test17 {
        public static void main(String[] args) {
            //一个整型数组里除了两个数字之外,其他的数字都出现了两次。
            // 请写程序找出这两个只出现一次的数字。
            int[] ints = {1,1,2,5,5,6,3,3};
            Map<Integer, Integer> map = new HashMap<Integer, Integer>();
            for (int i=0;i<ints.length;i++){
                if (map.containsKey(ints[i])){
                    int i1 = map.get(ints[i]) + 1;
                    map.put(ints[i],i1);
                }else {
                    map.put(ints[i],1);
                }
            }
            ArrayList list = new ArrayList();
            for (int i=0;i<ints.length;i++){
                if (map.get(ints[i])==1){
                    list.add(ints[i]);
                }
                if (map.get(ints[i])==2){
                    continue;
                }
            }
            System.out.println(list);
        }
    }
    详解:
    首先我们用map集合将每个数字存到集合里,数字为key,出现的次数为value.结果为下:
    {1=2, 2=1, 3=2, 5=2, 6=1}
    但是因为map集合只能根据key拿value的特点,我们想拿出现一次的数字,我们将list集合中的每个值当做当做key,将value等于一值放到list中。
    [2, 6]
  • 相关阅读:
    8-kubernetes-安全
    6-kubernetes网络
    5-kunernetes资源调度
    4-K8S 部署Java应用及应用程序生命周期管理
    3-kubernetes监控与日志管理
    2-K8S常用命令
    1-kubeadm部署1.18.0单master集群
    部署Prometheus+Grafana监控
    微信小程序学习
    vue 中使用 @scroll事件 没有用
  • 原文地址:https://www.cnblogs.com/shiji7/p/11961952.html
Copyright © 2011-2022 走看看