给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。
function findDuplicate(nums) {
for(let i = 0;i < nums.length;i++){
let item= nums[i]
let index = nums.lastIndexOf(item)
if(index > -1 && index != i){
return item
}
}
return undefined
}
function findDuplicate(nums) {
for(let i = 0;i < nums.length - 1;i++){
let item= nums[i]
for(let j = nums.length - 1;j > i;j--){
let jItem = nums[j]
if(item == jItem){
return item
}
}
}
return undefined
}
function findDuplicate(nums) {
let map = new Map()
for(let i = 0;i < nums.length;i++){
let item= nums[i]
if(map.has(item)){
return item
}else{
map.set(item,1)
}
}
return undefined
}
注:方法三,换成数组,使用arr.includes(item)判断也可以。
Leecode提交通过