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