287--寻找重复数-indexOf-&&-sort

简介: 287--寻找重复数-indexOf-&&-sort

给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。


示例 1:

**输入:** `[1,3,4,2,2]`
**输出:** 2
</pre>
**示例 2:**

**输入:** [3,1,3,4,2]
**输出:** 3

说明:

1.  **不能**更改原数组(假设数组是只读的)。
2.  只能使用额外的 *O*(1) 的空间。
3.  时间复杂度小于 *O*(*n*<sup>2</sup>) 。
4.  数组中只有一个重复的数字,但它可能不止重复出现一次。

indexOf

/**
 * @param {number[]} nums
 * @return {number}
 */
var findDuplicate = function (nums) {
    for (var i = 0; i < nums.length; i++) {
        if (nums.indexOf(nums[i]) !== nums.lastIndexOf(nums[i]) && nums.indexOf(nums[i])>-1) {
            return nums[i]
        }
    }
};

sort

var findDuplicate = function (nums) {
    nums.sort((a,b)=>a-b)
    for(var i=0;i<nums.length;i++){
        if(nums[i]===nums[i+1]) return nums[i]
    }
};
相关文章
Indexof是从前向后查找位置,lastIndexOf是从后往前查找:输出他们的位str.Indexof是编号,str.includes(‘1‘)是布尔,startsWidth()是开头,返回是布尔
Indexof是从前向后查找位置,lastIndexOf是从后往前查找:输出他们的位str.Indexof是编号,str.includes(‘1‘)是布尔,startsWidth()是开头,返回是布尔
数组从排1,2,3,4,5,冒泡排序的写法 .sort,升序写法 arr.sort(function (a,b){return a - b})
数组从排1,2,3,4,5,冒泡排序的写法 .sort,升序写法 arr.sort(function (a,b){return a - b})
对List进行排序,值为null的排到最后
对List进行排序,值为null的排到最后
|
12月前
|
Python
foreach、for in 和for of的区别?判断一个字符串中出现次数最多的字符,统计这个次数?
foreach、for in 和for of的区别?判断一个字符串中出现次数最多的字符,统计这个次数?
49 0
|
12月前
排序(Sort)(二)
排序(Sort)(二)
61 0
|
JavaScript 索引
vue 数组处理= 循环--查找过滤--添加删除--去重[.every()/.some()/.find()/.filter()/.forEach()/.map()]
vue 数组处理= 循环--查找过滤--添加删除--去重[.every()/.some()/.find()/.filter()/.forEach()/.map()]
303 0
vue 数组处理= 循环--查找过滤--添加删除--去重[.every()/.some()/.find()/.filter()/.forEach()/.map()]
sort() 函数按照字符串顺序对值进行排序。
sort() 函数按照字符串顺序对值进行排序。
197 0
LeetCode 167 Two Sum II - Input array is sorted(输入已排序数组,求其中两个数的和等于给定的数)
给定一个有序数组和一个目标值 找出数组中两个成员,两者之和为目标值,并顺序输出
85 0
|
Web App开发 算法 搜索推荐
数组的 sort() 方法详解
纸上得来终觉浅,绝知此事要躬行!
216 0
数组的 sort() 方法详解
4.1、Array数组常用的方法(map、push、sort、filter、join、split)
4.1、Array数组常用的方法(map、push、sort、filter、join、split)
141 0