数组中只出现一次的数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组中只出现一次的数字相关的知识,希望对你有一定的参考价值。
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
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 static void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { Map<Integer, Integer> map = new HashMap<Integer, Integer>(); //System.out.println(map.get(array[1])); int k; for(int a : array){ if(map.get(a) == null){ map.put(a, 1); }else{ k = map.get(a); map.put(a, ++k); } } //遍历map int[] num = new int[2]; int i = 0; Set<Integer> keySet = map.keySet(); //有了Set集合。就可以获取其迭代器。 Iterator<Integer> it = keySet.iterator(); while(it.hasNext()) { Integer key = it.next(); //有了键可以通过map集合的get方法获取其对应的值。 Integer value = map.get(key); if(value == 1){ num[i] = key; //System.out.println("num[" + i + "]" + "=" + num[i]); i++; } } num1[0] = num[0]; num2[0] = num[1]; } }
本文出自 “秦斌的博客” 博客,谢绝转载!
以上是关于数组中只出现一次的数字的主要内容,如果未能解决你的问题,请参考以下文章