1133.最大唯一数

时游小于 1 分钟LeetCode

1133.最大唯一数

/*
 * @lc app=leetcode.cn id=1133 lang=typescript
 *
 * [1133] 最大唯一数
 */

// @lc code=start

// 复杂度过高,不建议
// function largestUniqueNumber(nums: number[]): number {
// 	let hasRepet: number[] = [];
// 	nums.map((item, index) => {
// 		if (nums.slice(index + 1, nums.length).includes(item)) {
// 			hasRepet.push(item);
// 		}
// 	});
// 	// 剔除有重复的数字
// 	nums = nums.sort((a, b) => b - a).filter(item => !hasRepet.includes(item));

// 	return nums.length ? nums[0] : -1;
// }

interface NumberMap {
	[index: number]: number | null;
}
function largestUniqueNumber(nums: number[]): number {
	let map: NumberMap = {};
	nums.map(num => {
		if (map[num]) {
			map[num]++;
		} else {
			map[num] = 1;
		}
	});
	let max = -1;
	Object.keys(map).map(key => {
		let number = Number(key);
		if (map[number] == 1) {
			if (number > max) {
				max = number;
			}
		}
	});

	return max;
}

console.log(largestUniqueNumber([1, 2, 3, 3, 4, 4]));
// @lc code=end

上次编辑于:
贡献者: 15327360835
Loading...