美文网首页
存在重复元素

存在重复元素

作者: fan_8209 | 来源:发表于2021-04-18 12:15 被阅读0次

给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

示例 1:
输入: [1,2,3,1]
输出: true
示例 2:
输入: [1,2,3,4]
输出: false
1、我想到的最简单的应该是用set方式与原数组长度比较

var containsDuplicate = function(nums) {
    let numSet = new Set(nums)
    if(nums.length==numSet.size()){
        return false
    }else{
        return true
    }
};

时间复杂度:O(1)
空间复杂度:O(n),n为数组长度
2、排序方法,排序之后判断相邻元素是否相同

var containsDuplicate = function(nums) {
    nums.sort((a,b)=>a-b)
    console.log(nums)
    for(let i=1;i<nums.length;i++){
        if(nums[i]==nums[i-1]){
            return true
        }
    }
    return false
};

时间复杂度: O(N logN),其中 N为数组的长度。需要对数组进行排序。
空间复杂度:
O(log N),其中 N为数组的长度。注意我们在这里应当考虑递归调用栈的深度。

3、哈希表。遍历数组,当前数字存在哈希表中,返回即可。哈希表中不存在当前数字,则将该数字加入到哈希表中

var containsDuplicate = function(nums) {
    const hx = new Set()
    for(const i of nums){
        if(hx.has(i)){
            return true
        }else{
            hx.add(i)
        }
    }
    return false
};
var containsDuplicate = function(nums) {
    const hx = new Map()
    for(const i of nums){
        if(hx.has(i)){
            return true
        }else{
            hx.set(i)
        }
    }
    return false
};

时间复杂度:O(N),其中 N为数组的长度。
空间复杂度:O(N),其中 N为数组的长度。

相关文章

  • 「算法」存在重复元素 & 存在重复元素 II

    00217 存在重复元素 题目描述 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数...

  • LeetCode 217 存在重复元素.md

    题目描述 关键点 存在重复元素, 返回true, 不存在重复元素返回false 利用HashMap 不存在重复ke...

  • 存在重复元素

    leetcode

  • 存在重复元素

    题面: 给定一个整数数组nums,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数...

  • 存在重复元素

    题目描述 难度级别:简单 Given an array of integers, find if the arra...

  • 存在重复元素

    给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不...

  • 存在重复元素

    给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素...

  • 存在重复元素

    题目信息 给定一个整数数组,判断是否存在重复元素。 如果存在一值在数组中出现至少两次,函数返回 true 。如果数...

  • LeetCode 第 217、219、220 题:存在重复元素

    LeetCode 第 217 题:存在重复元素 传送门:217. 存在重复元素。 给定一个整数数组,判断是否存在重...

  • LeetCode: 存在重复元素

    存在重复元素 English Description 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中...

网友评论

      本文标题:存在重复元素

      本文链接:https://www.haomeiwen.com/subject/kcdwkltx.html