做网站一定要用云解析吗,淘宝买模板注浆做网站,做简约头像网站,wordpress 指定审核人题目#xff1a; 给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。 请你返回 nums 中唯一元素的 和 。 示例 1#xff1a; 输入#xff1a;nums [1,2,3,2]
输出#xff1a;4
解释#xff1a;唯一元素为 [1,3] #xff0c;和为 4 。示例 2#xf… 题目 给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。 请你返回 nums 中唯一元素的 和 。 示例 1 输入nums [1,2,3,2]
输出4
解释唯一元素为 [1,3] 和为 4 。示例 2 输入nums [1,1,1,1,1]
输出0
解释没有唯一元素和为 0 。示例 3 输入nums [1,2,3,4,5]
输出15
解释唯一元素为 [1,2,3,4,5] 和为 15 。 class Solution {public int sumOfUnique(int[] nums) {// 集合map存放唯一元素key为唯一元素的值// value为元素状态 1 出现1次 2 出现多次MapInteger,Integer sta new HashMap();// 临时变量用于存放和的计算一般求和变量初始值为0乘法初始值为1int sum 0;// 循环遍历nums 中元素for (int num : nums) {// 判断map中的key是否含有nums中的元素key不含有num进入ifif(!sta.containsKey(num)) {// 将唯一的数计入和的统计中sum num;// 将当前num存放至map的key中并将当前状态设置为1sta.put(num,1);} else if(sta.get(num) 1) { // map中已经含有num元素// 如果状态未1进入下面else if 中// sta.get(num)取出当前num的状态如果为1。// 说明之前已经加过该值现在重复出现应该从总和中减掉该值// 注意题目要求只求和恰好出现一次的元素。故前面加的这里要减掉sum - num;// 注意这里必须设置状态2表示该值已经从总和中减过。// 后面该值再出现时就不会重复减去该值。sta.put(num,2);}}return sum;}
}
复杂度分析
时间复杂度O(n)其中 n 是数组 nums 的长度。
空间复杂度O(n)。哈希表需要 O(n)的空间。