题解 | #数组中只出现一次的两个数字#
数组中只出现一次的两个数字
https://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8
import java.util.*;
public class Solution {
public int[] FindNumsAppearOnce(int[] nums) {
ArrayList<Integer> newArr = new ArrayList<>();
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
//这里 如果numbers[i]在h1里面则对应的value++;反之,则初始化为1
map.merge(nums[i], 1, (oldvalue, newvalue)->++oldvalue);
}
for (Map.Entry e1 : map.entrySet()) {
if (e1.getValue().equals(1)) {
newArr.add((Integer) e1.getKey());
}
}
int size = newArr.size();
//将ArrayList转化为int类型数组
int[] res = newArr.stream().mapToInt(
Integer::valueOf).toArray(); //由Object类型的数组转化成int类型的数组
return res;
}
}
查看11道真题和解析