<分区>
根据时间复杂度在数组中找到唯一唯一值的最佳(有效)方法是什么。
示例:
findUniq([2, 1, 1, 1, 1, 1])
应该返回2
/li>findUniq([3, 4, 3, 3, 3, 3, 3, 3, 3])
应该返回4
约束:
该数组有超过 2 个值开始。
数组只有数字。
数组只有一个唯一值,如[1, 7, 1, 1]或[4, 2, 2, 2]
[3, 4, 5, 3] 不是有效输入。
我想知道是否可以使用 Set
来解决这个问题。
这是一个for循环的解决方案,我不确定这个解决方案是否会通过所有场景。
let findUniq = (arr) => {
for(let i = 0; i < arr.length; i++) {
if (arr[i] !== arr[0]) {
return arr[i]
}
}
}