leetcode.217??存在重复元素

发布时间:2021-10-19 06:49:23


给定一个整数数组,判断是否存在重复元素。


如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。



示例 1:



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


示例 2:



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


示例?3:



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


方法一:


分析:先定义一个对象,遍历数组,用hasOwnProperty来判断对象里面是否存在这个数据,如果不存在,则往对象里面添加数据,如果存在则表示有重复数字,那么返回true,如果遍历结束后都没有重复,那么表示数组中没有重复的数字,在循环外面返回一个false


/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {
let obj = {}; //声明一个对象
for(let i =0;i < nums.length;i++){ //循环数组
if(!obj.hasOwnProperty(nums[i])){ //判断对象中是否存在该数据
obj[nums[i]] = 1; //没有,那么就储存该数据
}else{
return true; //没有,返回true
}
}
return false; //循环结束后,依旧没有重复,那么就返回false
};

?


方法二、


分析:先将数组进行排序,然后循环遍历,判断第i个和第i+1个是否相等,如果相等,那么返回true,循环结束后依旧没有相等那么返回false。


/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {

var len=nums.length;
var k=nums.sort();
for(var i=0;i {
if(nums[i]==nums[i+1])
return true;
}
return false;

};

方法三、


分析:利用Set()的唯一性


/**
* @param {number[]} nums
* @return {boolean}
*/
var containsDuplicate = function(nums) {
if(nums.length <= 1)
return false;
return nums.length != [...new Set(nums)].length;
};

此方法在lettcode上



执行用时 :84 ms, 在所有 JavaScript 提交中击败了93.15% 的用户


内存消耗 :43.3 MB, 在所有 JavaScript 提交中击败了9.51%的用户


相关文档

  • 大腿环形吸脂是什么意思大腿环吸恢复过程
  • 安卓开发环境配置!十年开发经验Android架构师,最强技术实现
  • 站队怼人怼自己,照样涨粉涨不停。他们凭什么能玩得这么任性?
  • pycharm中如何读取excel表_Unity技巧篇《如何解析Excel表数据》
  • 吃不完的三明治怎么保存三明治能保存多久
  • 回忆往事的作文700字 忆那束阳光
  • 申通快递长沙去揭阳要多久
  • 引起疥疮的原因与预防
  • 浙江有哪些大学有心理学专业
  • 2018腾讯、美团C++后台研发实习生面经
  • 彩绘花系列美甲图片大全
  • 像学习vue 一样学习 react
  • 作文:国庆节200字
  • 好多人问我为什么还是单身你到现在还单身的原因是什么
  • 新建ssm框架遇到Artifact hisports:war exploded: Error during artifact deployment. See server
  • 五水共治漂亮黑板报
  • 改变人生的问题
  • 2015小升初英语作文预测:五一假期
  • LOAM-Livox 安装配置ROS, PCL过程中遇到的坑
  • qq钱包交易记录不小心删除了怎么回复
  • 心灵漂泊
  • 手机开机之后黑屏
  • 含有哲理的话语摘录
  • 小考英语考前练习题及答案
  • 把握契机改变人生作文800字
  • 我拿了谁的伞?
  • 目录索引
  • workstation服务启动报错。错误1075:依存服务不存在, 或已标记为删除的解决方法
  • 商务秘书礼仪的认识
  • 个性内衣广告词范文
  • 猜你喜欢

    电脑版