题目描述
给你一个整数数组 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 。
限制
1 <= nums.length <= 1001 <= nums[i] <= 100
解题思路
- 数组作为桶位 推荐
因为这道题限制了数组的最长度为100,数组元素的最大值也是100,所以我们可以通过创建
数组来记录每个数字出现的次数 ,然后记录最大的桶位值,再从1到该桶位值遍历,如果出
现次数为1,则计入结果中。
- 哈希表
创建一张哈希表,遍历数组,把每个元素放入表中,并记录每个元素出现的次数,再遍历该
数组,通过检索哈希表的映射获得该元素出现的次数,如果出现次数为1,则将该元素累加至
结果中。
有关哈希表的知识可以去下面的链接里学习。
来吧!一文彻底搞定哈希表!_庆哥Java的CSDN技术博客-CSDN博客
代码
//数组桶位 class Solution { public int sumOfUnique(int[] nums) { if(nums.length == 1){ return nums[0]; } int[] num = new int[101]; int count = 0, cur = 0; for(int item : nums){ ++ num[item]; cur = Math.max(cur,item); } for(int i = 1; i <= cur; i++ ){ if(num[i] == 1){ count += i; } } return count; } }
beat率
哈希

数组


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/43538.html