其他分享
首页 > 其他分享> > 1748. 唯一元素的和

1748. 唯一元素的和

作者:互联网

查看原题

在这里插入图片描述

解题思路(排序)

将数组排序,将数组不和前一项和后一项相等的元素就是唯一元素。

代码

/**
 * @param {number[]} nums
 * @return {number}
 */
var sumOfUnique = function(nums) {
	nums.sort((a,b)=>a-b);
	let sum = 0;
	let i = 0;
	const length = nums.length;

	for(i = 0; i < length; i++) {
		if(nums[i] !== nums[i+1] && nums[i] !== nums[i-1]){
			sum += nums[i];
		}
	}

	return sum;
};

在这里插入图片描述

解题思路(哈希表)

统计每一个数字出现的次数,找出出现次数为一的元素求和。

代码


/**
 * @param {number[]} nums
 * @return {number}
 */
var sumOfUnique = function(nums) {
	const map = new Map();
	let sum = 0;
	nums.forEach(num=>{
		if(map.has(num)) {
			map.set(num, map.get(num) + 1)
		}
		else {
			map.set(num,1);
		}
	})

	for (const [key,value] of map) {
		if(value == 1) {
			sum += Number(key);
		}
	}

	return sum;
};

在这里插入图片描述

标签:map,return,nums,sum,元素,number,唯一,num,1748
来源: https://www.cnblogs.com/xyq135/p/15867744.html