数组中重复的数字
来源:互联网 发布:java基础代码大全 编辑:程序博客网 时间:2024/06/16 09:48
题目描述
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。
IDEA
1.通常的做法是额外定义一个数组,因为所有数字都在0到n-1的范围内,多以让新定义数组的下标表示元素,一边遍历一边判断。
2.可利用HashSet的特性,不允许有重复的值,来判断
CODEpublic class Solution {// Parameters:// numbers: an array of integers// length: the length of array numbers// duplication: (Output) the duplicated number in the array number,length of duplication array is 1,so using duplication[0] = ? in implementation;// Here duplication like pointor in C/C++, duplication[0] equal *duplication in C/C++// 这里要特别注意~返回任意重复的一个,赋值duplication[0]// Return value: true if the input is valid, and there are some duplications in the array number// otherwise falsepublic boolean duplicate(int numbers[],int length,int [] duplication) {boolean[] flag=new boolean[length];for(int i=0;i<length;i++){if(flag[numbers[i]]==true){duplication[0]=numbers[i];return true;}else{flag[numbers[i]]=true;}}return false;}}
import java.util.HashSet;public class Solution { public boolean duplicate(int numbers[],int length,int [] duplication) { HashSet<Integer> set=new HashSet<Integer>(); for(int i=0;i<length;i++){ if(!set.add(numbers[i])){ duplication[0]=numbers[i]; return true; } } return false; }}
0 0
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- mysql远程登录
- esri-leaflet入门教程(1)-leaflet介绍
- Ubuntu系统中安装使用tcpdump来统计HTTP请求
- 用C,C++代码实现二进制数据与图片的转化
- 《众病之王——癌症传》读书笔记
- 数组中重复的数字
- python全栈5-jQuery基本使用及demo
- Maven+SpringMVC+Eclipse软件安装配置,Maven报插件异常,Eclipse总是卡死的解决方法,导入一个maven工程后 一直显示importing maven project
- Linux文件系统预读(一)
- 上传项目到github上及删除代码
- No bean named 'cacheManager' is defined解决方法
- Type interface "xxxxxxxx" is not known to the MapperRegistry
- Test
- springmvc整合mybatis框架源码 bootstrap html5 mysql oracle maven SSM