11.数组中只出现一次得俩个数字

题目描述

一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。

示例1

输入

复制

[1,4,1,6]

返回值

复制

[4,6]

说明

返回的结果中较小的数排在前面  

 

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param array int整型一维数组 
     * @return int整型一维数组
     */
    public int[] FindNumsAppearOnce (int[] array) {
        // write code here
        HashMap<Integer,Integer> map=new  HashMap<>();
        int  result[]=new int[2];
        for(int i=0;i<array.length;i++)
        {
            if(map.containsKey(array[i]))
            {
                map.put(array[i],map.get(array[i])+1);
            }else
            {
                map.put(array[i],1);
            }
        }
        int i=0;
        for(int key:map.keySet())
        {
            if(map.get(key)==1)
            {
                result[i]=key;
                i++;
            }
        }
        return result;
    }
}

 

Guess you like

Origin blog.csdn.net/qq_40408443/article/details/116598395