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;
};

1748. 唯一元素的和

解题思路(哈希表)

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

代码


/**
 * @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;
};

1748. 唯一元素的和

上一篇:Blood lipid


下一篇:用了Stream后,代码反而越写越丑?