寻找重复数

给定一个包含 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提交通过

 

原文地址:https://www.cnblogs.com/zhenjianyu/p/13402914.html