题目:
分析:
本题一看就是运用哈希表,存入出现数字的次数,然后找出出现一次的加起来。
但后面思考一下,其实可以在数字第一次出现的时候,直接相加,并存入一个规定的字符,然后在后面发现哈希表中已经存在时,判断他是否在之前只出现了一次,是的话减去这个数组并改变存入的字符。
代码:
class Solution {
public int sumOfUnique(int[] nums) {
HashMap<Integer,Integer> hash=new HashMap<Integer,Integer>();
int sum=0;
for(int i:nums){
if(!hash.containsKey(i)){
hash.put(i,1);
sum+=i;
}else{
if(hash.get(i)==1){
hash.put(i,2);
sum-=i;
}
}
}
return sum;
}
}