leetcode-数组-217-存在重复元素

题目描述(难度:简单)

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

示例1:

    输入: [1,2,3,1]
    输出: true

示例2:

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

解题思路

  • Set法:使用 Set 集合去重,如果长度不相等,则重复
  • 散列表法:使用散列表存储出现过的值,如果再次出现,则重复
  • 排序法:将数组排序,如果第 n 元素和第 n+1 元素相等,则重复

代码

  • Set法

      var containsDuplicate = function(nums){
          return new Set(nums).size != nums.length;
      }
  • 散列表法

      var containsDuplicate = function(nums){
          let set = new Set();
          for(let i = 0 ;i<nums.lengtj;i++){
              if(set.has(num[i])){
                  return true
              }
              set.add(nums[i])
          }
          return false;
      }
  • 排序法

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

   转载规则


《leetcode-数组-217-存在重复元素》 朝飞 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
leetcode-数组-219-存在重复元素2 leetcode-数组-219-存在重复元素2
描述 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。 示例 1: 输入: nums = [1,2,3,1], k
2020-02-28
下一篇 
leetcode-数组-119-杨辉三角2 leetcode-数组-119-杨辉三角2
题目描述(难度:简单) 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 代码 var generate = function (numRows){
2020-02-26
  目录