算法------数组---------存在重复元素
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 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 次就可以了。最差的情况下,嗯,排序的比较多。
算法------数组---------存在重复元素相关推荐
- 算法------数组---------删除重复元素
/*** 删除排序数组中的重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额 ...
- 求栈中元素个数算法_Algorithm 大家都会的去除有序数组中重复元素的三种算法...
问题描述 给定一个有序数组,要删除数组重复出现的元素,使得每个元素之出现一次,然后返回移除重复数组后的新长度: 示例: 给定数组 nums = [1,2,4,4],删除重复出现的元素后,原数组变成 n ...
- java去重复元素并打印_Java打印数组中重复元素
Java打印数组中重复元素 1 说明 在此程序中,我们需要打印数组中存在的重复元素.这可以通过两个循环来完成.第一个循环将选择一个元素,第二个循环将通过将所选元素与其他元素进行比较来遍历整个数组.如果 ...
- java删除数组中重复元素
id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr="> > src= ...
- leetcode初级算法3.存在重复元素
leetcode初级算法3.存在重复元素 仅为个人刷题记录,不提供解题思路 题解与收获 我的解法: Arrays.sort(nums);for(int i = 0; i < nums.lengt ...
- js判断数组中重复元素并找出_javascript查找数组中重复元素的方法
这篇文章主要介绍了JS查找数组中重复元素的方法,结合具体实例形式对比分析了javascript针对数组的遍历.判断.排序等相关操作技巧,需要的朋友可以参考下 本文实例讲述了JS查找数组中重复元素的方法 ...
- 一维数组中重复元素的去除
一维数组中重复元素的去除 前言 一.基本思路 二.步骤 1.设置判断数组Arr[ ]: 2.继承数组newArr[ ]获取不重复元素 总结 前言 关于一维数组中有重复的元素该怎么剔除,作为java初学 ...
- 如何统计二维或者多维空间/二维数组中重复元素的数量/计数?numpy一行代码就行了
文章目录 1. 问题说明 2. 解决之道 3. 向原作者致敬 Reference 1. 问题说明 统计一维数组中重复元素的数量是个常见的问题,那么拓展到二维或者更高维度,这个问题依然是常见的.有什么方 ...
- c\c++语言删除数组中重复元素
c\c++语言删除数组中重复元素 如题:num[]={1,2,3,3,4,5,6} 输出为:123456 下为原代码: #include "stdafx.h" #include & ...
最新文章
- Anaconda:成功解决利用conda下载pytorch和torchvision时速度超慢的问题
- mysql 存储过程游标删除_mysql数据库存储过程游标循环,提前退出
- 2017-2018-1 20155229 《信息安全系统设计基础》第十三周学习总结
- 可视化分析js的内存分配与回收
- 数据可视化【六】Line Chart Area Chart
- 双向特征融合的数据自适应SAR图像舰船目标检测模型
- python考试搜题-大学mooc用Python玩转数据章节考试答案
- 不是男人也要上100层:Unity专为AI开发了游戏,还启动了10万美元挑战赛
- 享誉全球的 Java 经典著作《Java核心技术》Java 17
- 《战舰世界》携手汉堡王开启“战舰堡胃战”主题活动
- 计算机桌面桌面设置动态视频,电脑怎么设置动态桌面
- 八字起大运php代码,八字起大运方法有几种
- matlab定义双精度型变量_MATLAB小数(浮点数)类型
- cocos2d 3.11获取机型和系统版本号
- oracle ebcdic 转换,sql - oracle ebcdic sqlldr问题 - 堆栈内存溢出
- 番茄工作法总结-第一章:一次只做一件事
- 2009经典语录,雷不死人不要钱
- 用selenium抓取海关数据
- 基于微信小程序的个人管理软件-计算机毕业设计
- 国产汽车级双极锁存霍尔传感器CHA44X介绍
热门文章
- python reader循环_python – 多次循环遍历csv.DictReader行
- 六、DNS组成与原理
- C++知识点58——类模板(3、类模板的成员模板)
- C++知识点52——多重继承
- 14.QueuedConnection和BlockingQueuedConnection连接方式源码分析
- 请填写红包接口调用ip_SOME/IP的车载网络应用
- js获取当前日期_vue项目中获取前后N天日期
- 走进JavaWeb技术世界7:Tomcat中的设计模式
- LaTeX 简介与安装
- See the World 2015-6-10