数组中重复的数字
来源:互联网 发布:防火知多少课件 编辑:程序博客网 时间:2024/05/29 12:34
题目描述
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。
思路:创建一个256的大小的数组,然后用循环找一下是否有重复的数字,然后用随机函数去输出一个即可否则为false;
代码如下:
import java.util.ArrayList;import java.util.List;import java.util.Random;public class Solution { public boolean duplicate(int numbers[],int length,int [] duplication) { if(numbers == null){ duplication[0] = -1; return false; } int[] ints = new int[256]; for(int i = 0;i<ints.length;i++){ ints[i] = 0; } for(int i = 0;i<numbers.length;i++){ ints[numbers[i]]++; } List<Integer> list = new ArrayList<Integer>(); for(int i= 0;i<numbers.length;i++){ if(ints[numbers[i]] >= 2){ list.add(numbers[i]); } } if(list.size() == 0)return false; int[] ins = new int[list.size()]; for(int i = 0 ;i<list.size();i++){ ins[i] = list.get(i); } Random random = new Random(); int a = random.nextInt(ins.length-1); duplication[0] = ins[a]; return true; }}
0 0
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 数组中重复的数字
- 配置ext重新抓取
- LabVIEW仿真点阵移动显示字符
- find the safest road(最短路改编,最长路)
- linux热插拔
- IOS第9天控制器的使用
- 数组中重复的数字
- GetDeviceCaps WinAPI
- Ftp服务器搭建
- 搜索+枚举字符串子串问题
- Android图片下载缓存库picasso解析
- 贝叶斯分类算法值贝叶斯网络
- git菜鸟教程
- maven简单配置
- jQuery easyUI combotree和combobox使用实例