剑指offer——数组中重复的数字
来源:互联网 发布:大数据风控平台排名 编辑:程序博客网 时间:2024/06/14 15:43
题目描述
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。
解题思路:先排序,然后用一个temp每次存放下次可能相同的数。
duplication中原来只放一个就是duplication[0]。其他的没有用,不然会报数组越界。
import java.util.Arrays;public 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 false public boolean duplicate(int numbers[],int length,int [] duplication) { if(length<=0)return false; Arrays.sort(numbers); int dupindex=0; int temp=numbers[0]; for(int i =1;i<length;i++){ if(temp==numbers[i]&&duplication[dupindex]!=temp){ duplication[dupindex]=temp; } else{temp=numbers[i];} } if(duplication[0]==-1)return false; return true; }}
0 0
- 《剑指offer》——数组中重复的数字
- 《剑指offer》——数组中重复的数字
- 剑指offer——数组中重复的数字
- 剑指offer——数组中重复的数字
- 剑指Offer—50—数组中重复的数字
- 剑指offer—数组中重复的数字
- 剑指offer—数组中重复的数字
- 剑指offer--数组中重复的数字
- 《剑指offer》数组中重复的数字
- 剑指offer:数组中重复的数字
- [剑指Offer]数组中重复的数字
- 剑指offer:数组中重复的数字
- 剑指offer 数组中重复的数字
- [剑指offer]数组中重复的数字
- 剑指offer|数组中重复的数字
- 剑指offer-数组中重复的数字
- 剑指offer 数组中重复的数字
- 《剑指offer》数组中重复的数字
- 第121课:Spark Streaming性能优化:通过摄像头图像处理案例来说明Spark流处理性能评估新方法及性能调优参数调试
- mysql数据库备份与还原
- 高效传输数据格式以及基于HTTP2的RPC框架---gRPC的使用
- Android Studio的Log日志过滤
- AR截屏并显示
- 剑指offer——数组中重复的数字
- 单周期CPU设计
- Nginx中的try_files指令的理解
- c++第四次作业
- 欢迎使用CSDN-markdown编辑器
- 【WEB】JQUERY源码分析——数据交互
- mysql中文乱码
- PLA1.2 被拒解决办法
- android studio ndk开发中错误记录求救