双指针yyds 双指针+排序 感谢题解
java:
class Solution {
public int sumOfUnique(int[] nums) {
int ans = 0;
Arrays.sort(nums);
int n = nums.length;
for(int i = 0; i < n; ){
int j = i;
while(j < n && nums[j] == nums[i]) j++;
if(j - i == 1) ans += nums[i];
i = j;
}
return ans;
}
}
python3:
class Solution:
def sumOfUnique(self, nums: List[int]) -> int:
ans = 0
state = {}
for num in nums:
if num not in state:
ans += num
state[num] = 1
elif state[num] == 1:
ans -= num
state[num] = 2
return ans