题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
http://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param array int整型一维数组
* @return int整型一维数组
*/
public int[] FindNumsAppearOnce(int[] array) {
HashMap<Integer, Integer> map = new HashMap<>();
int [] res = new int [2];
for (int i = 0; i < array.length; i++) {
if (!map.containsKey(array[i])) {
map.put(array[i], 1);
} else {
map.put(array[i], map.get(array[i]) + 1);
}
}
Set<Integer> set = map.keySet();
for (Integer i : set) {
if (map.get(i) == 1) {
if (res[0] == 0) {
res[0] = i;
} else {
if (i > res[0]) {
res[1] = i;
} else {
res[1] = res[0];
res[0] = i;
}
break;
}
}
}
return res;
}
}