给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 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

我的第一版本解答:耗时400ms

class Solution {public boolean containsDuplicate(int[] nums) {if (nums == null) {return false;}if (nums.length <2) {return false;}int length = nums.length;for (int i = 0,j=length -1; i < j; i++,j--) {if (nums[i] == nums[j]) {return true;}for (int k = i+1; k < j;k++){if (nums[i] == nums[k] || nums[j]== nums[k]) {return true;}}}return false;}
}

第二版本:8ms 比第一版本快几十倍

class Solution {public boolean containsDuplicate(int[] nums) {if (nums == null) {return false;}if (nums.length < 2 ) {return false;}Arrays.sort(nums);int temp = nums[0];for (int i = 1; i < nums.length; i++) {if (nums[i] == temp) {return true;}else {temp = nums[i];}}return false;}
}

网上最快的算法:

class Solution {public boolean containsDuplicate(int[] nums) {if(nums.length < 2){return false;}int max = nums[0];for(int i = 1;i < nums.length;i++){if(nums[i] > max){max = nums[i];}else if(nums[i] == max){return true;}else{for (int j = i - 1;j >= 0;j--){if(nums[i] == nums[j]){return true;}}}}return false;}
}

还是觉得别人写的是好的,最优的情况下是排序n 次就可以了。最差的情况下,嗯,排序的比较多。

算法------数组---------存在重复元素相关推荐

  1. 算法------数组---------删除重复元素

    /*** 删除排序数组中的重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额 ...

  2. 求栈中元素个数算法_Algorithm 大家都会的去除有序数组中重复元素的三种算法...

    问题描述 给定一个有序数组,要删除数组重复出现的元素,使得每个元素之出现一次,然后返回移除重复数组后的新长度: 示例: 给定数组 nums = [1,2,4,4],删除重复出现的元素后,原数组变成 n ...

  3. java去重复元素并打印_Java打印数组中重复元素

    Java打印数组中重复元素 1 说明 在此程序中,我们需要打印数组中存在的重复元素.这可以通过两个循环来完成.第一个循环将选择一个元素,第二个循环将通过将所选元素与其他元素进行比较来遍历整个数组.如果 ...

  4. java删除数组中重复元素

    id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr="> > src= ...

  5. leetcode初级算法3.存在重复元素

    leetcode初级算法3.存在重复元素 仅为个人刷题记录,不提供解题思路 题解与收获 我的解法: Arrays.sort(nums);for(int i = 0; i < nums.lengt ...

  6. js判断数组中重复元素并找出_javascript查找数组中重复元素的方法

    这篇文章主要介绍了JS查找数组中重复元素的方法,结合具体实例形式对比分析了javascript针对数组的遍历.判断.排序等相关操作技巧,需要的朋友可以参考下 本文实例讲述了JS查找数组中重复元素的方法 ...

  7. 一维数组中重复元素的去除

    一维数组中重复元素的去除 前言 一.基本思路 二.步骤 1.设置判断数组Arr[ ]: 2.继承数组newArr[ ]获取不重复元素 总结 前言 关于一维数组中有重复的元素该怎么剔除,作为java初学 ...

  8. 如何统计二维或者多维空间/二维数组中重复元素的数量/计数?numpy一行代码就行了

    文章目录 1. 问题说明 2. 解决之道 3. 向原作者致敬 Reference 1. 问题说明 统计一维数组中重复元素的数量是个常见的问题,那么拓展到二维或者更高维度,这个问题依然是常见的.有什么方 ...

  9. c\c++语言删除数组中重复元素

    c\c++语言删除数组中重复元素 如题:num[]={1,2,3,3,4,5,6} 输出为:123456 下为原代码: #include "stdafx.h" #include & ...

最新文章

  1. Anaconda:成功解决利用conda下载pytorch和torchvision时速度超慢的问题
  2. mysql 存储过程游标删除_mysql数据库存储过程游标循环,提前退出
  3. 2017-2018-1 20155229 《信息安全系统设计基础》第十三周学习总结
  4. 可视化分析js的内存分配与回收
  5. 数据可视化【六】Line Chart Area Chart
  6. 双向特征融合的数据自适应SAR图像舰船目标检测模型
  7. python考试搜题-大学mooc用Python玩转数据章节考试答案
  8. 不是男人也要上100层:Unity专为AI开发了游戏,还启动了10万美元挑战赛
  9. 享誉全球的 Java 经典著作《Java核心技术》Java 17
  10. 《战舰世界》携手汉堡王开启“战舰堡胃战”主题活动
  11. 计算机桌面桌面设置动态视频,电脑怎么设置动态桌面
  12. 八字起大运php代码,八字起大运方法有几种
  13. matlab定义双精度型变量_MATLAB小数(浮点数)类型
  14. cocos2d 3.11获取机型和系统版本号
  15. oracle ebcdic 转换,sql - oracle ebcdic sqlldr问题 - 堆栈内存溢出
  16. 番茄工作法总结-第一章:一次只做一件事
  17. 2009经典语录,雷不死人不要钱
  18. 用selenium抓取海关数据
  19. 基于微信小程序的个人管理软件-计算机毕业设计
  20. 国产汽车级双极锁存霍尔传感器CHA44X介绍

热门文章

  1. python reader循环_python – 多次循环遍历csv.DictReader行
  2. 六、DNS组成与原理
  3. C++知识点58——类模板(3、类模板的成员模板)
  4. C++知识点52——多重继承
  5. 14.QueuedConnection和BlockingQueuedConnection连接方式源码分析
  6. 请填写红包接口调用ip_SOME/IP的车载网络应用
  7. js获取当前日期_vue项目中获取前后N天日期
  8. 走进JavaWeb技术世界7:Tomcat中的设计模式
  9. LaTeX 简介与安装
  10. See the World 2015-6-10