首页 > 编程语言 > 详细

[剑指Offer][数组]数组中重复的数字

时间:2021-05-14 10:26:09      阅读:11      评论:0      收藏:0      [点我收藏+]

题目描述

在一个长度为n的数组里的所有数字都在0到n-1的范围内。,数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任一一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1。
 
 1 public class Solution {
 2     
 3     public int duplicate (int[] numbers) {
 4         if(numbers.length == 0) {
 5             return -1;
 6         }
 7         for(int i = 0; i < numbers.length; i ++) {
 8             for(int j = i + 1; j < numbers.length; j ++) {
 9                 if(numbers[i] == numbers[j]) {
10                     return numbers[i];
11                 }
12             }
13         }
14         return -1;
15     }
16 }
 1 public class Solution { 
 2     public int duplicate (int[] numbers) {
 3         if(numbers.length == 0) {
 4             return -1;
 5         }
 6         int[] record = new int[numbers.length];
 7         for(int i = 0; i < numbers.length; i ++) {
 8             record[numbers[i]] ++;
 9             if(record[numbers[i]] > 1) {
10                 return numbers[i];
11             }
12         }
13         return -1;
14     }
15 }

 

[剑指Offer][数组]数组中重复的数字

原文:https://www.cnblogs.com/StringBuilder/p/14766687.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!