1748 唯一元素的和

1748 唯一元素的和题目描述 给你一个整数数组 nums 数组中唯一元素是那些只出现 恰好一次 的元素 请你返回 nums 中唯一元素的 和 示例 示例 1 输入 nums 1 2 3 2 输出 4 解释 唯一元素为 1 3 和为 4 示例 2

大家好,我是讯享网,很高兴认识大家。

题目描述

给你一个整数数组 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 <= 100
  • 1 <= 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率

哈希 

数组

 

小讯
上一篇 2025-03-12 07:22
下一篇 2025-02-18 09:48

相关推荐

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