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]
    }
};
相关文章
数组从排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的排到最后
|
8月前
ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)
ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)
116 0
CF236A Boy or Girl(找字符数,可以考虑去重)
CF236A Boy or Girl(找字符数,可以考虑去重)
55 0
使用tr命令和sort命令对数组重新排序
方法一: 步骤: 使用tr命令将数组内每个元素之间的空格替换为换行符; 之后使用sort命令按从小到大重新排序; 最后使用for循环遍历排序后的元素值。通过下标值重新定义数组中的每个元素。
420 0
LeetCode 167 Two Sum II - Input array is sorted(输入已排序数组,求其中两个数的和等于给定的数)
给定一个有序数组和一个目标值 找出数组中两个成员,两者之和为目标值,并顺序输出
93 0
4.1、Array数组常用的方法(map、push、sort、filter、join、split)
4.1、Array数组常用的方法(map、push、sort、filter、join、split)
163 0
L2-017 人以群分 (25 分)(sort)
L2-017 人以群分 (25 分)(sort)
151 0
[LeetCode] K-diff Pairs in an Array 数组中差为K的数对
Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in the array.
1523 0