您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页java 找出数组中只出现一次的数字

java 找出数组中只出现一次的数字

来源:爱go旅游网

题目:

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

算法如下:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

//num1,num2分别为长度为1的数组。传出参数
//将num1[0],num2[0]设置为返回结果
public class Solution {
    public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
        if(array.length<2){
            num1[0] = 0;
            num2[0] = 0;
            return ;
        }
        Map<Integer,Integer> map = new HashMap<Integer,Integer>();
        for(int i=0;i<array.length;i++){
            Set<Integer> keys = map.keySet();
            if(keys.contains(array[i])){
                map.remove(array[i]);
            }else{
                map.put(array[i],1);
            }
        }
        Set<Integer> keys = map.keySet();
        Iterator iter = keys.iterator();
        int[] a = new int[keys.size()];
        for(int i=0;iter.hasNext();i++){
            a[i] = (int) iter.next();
        }
        num1[0] = a[0];
        num2[0] = a[1];
    }
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务