剑指offer-题51:数组中重复的数字

原创 2018年04月17日 18:35:35

题目描述

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。

实验平台:牛客网


解决思路:

这里写图片描述

java:

public class Solution {
    public boolean duplicate(int numbers[],int length,int [] duplication) {
        if (numbers == null || numbers.length == 0) {
            return false;
        }
        // 验证数组是否正确
        for (int i = 0; i < length; i++) {
            if (numbers[i] < 0 || numbers[i] > length - 1) {
                return false;
            }
        }
        for (int i = 0; i < length; i++) {
            while (numbers[i] != i) {
                if (numbers[i] == numbers[numbers[i]]) {
                    duplication[0] = numbers[i];
                    return true;
                }
                int temp = numbers[i];
                numbers[i] = numbers[temp];
                numbers[temp] = temp;
            }
        }
        return false;
    }
}

python:

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wang454592297/article/details/79978916

Servlet和ThreadLocal的测试

Servlet和ThreadLocal的测试很早以前就对Servlet中的变量生命周期不清楚最近用hibernate又涉及到ThreadLocal的使用做个测试看看到底它们的变量有效范围public ...
  • icecloud
  • icecloud
  • 2004-05-25 10:30:00
  • 3620

剑指第三题:数组重复数字 不修改数组

#include &amp;lt;iostream&amp;gt; #include &amp;lt;cstdlib&amp;gt; #include &amp;lt;stdio.h&amp;gt; ...
  • yanbao4070
  • yanbao4070
  • 2018-03-03 19:44:37
  • 28

剑指offer 面试题3:数组中重复的数字

剑指offer 面试题3 数组中重复的数字 题目一:找出数组中重复的数字在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了...
  • zqx1205
  • zqx1205
  • 2017-09-01 09:26:29
  • 95

剑指offer-面试题51:数组中重复的数字

题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字...
  • moses1213
  • moses1213
  • 2016-04-25 17:48:27
  • 674

剑指offer--数字在排序数组中出现的次数

题目描述 统计一个数字在排序数组中出现的次数。 public class Solution { public int GetNumberOfK(int [] array , int k) { ...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-12 19:17:10
  • 515

剑指offer:找出数组中重复的数字

//题目描述:输入一个数组,找出其中重复的数字// 思路:利用map对数组的数字进行计数,找到不等于map中计数不为1的数字输出bool duplicate(int numbers[], int...
  • crazyacm
  • crazyacm
  • 2016-04-02 15:27:28
  • 215

剑指Offer面试题3:数组中重复的数字

/* * 面试题3数组中重复的数字:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。 * 也不知道每个数字重复几次。请找出数组中任意一个重...
  • lwl2014100338
  • lwl2014100338
  • 2018-01-21 08:06:44
  • 80

C++找出数组中重复的数字( 剑指offer面试题3-1)

第一块程序是剑指offer原题,找出任意一个重复的数字,第二块程序是找出所有重复的数字 // 剑指offer面试题3(一):找出数组中重复的数字 // 题目:在一个长度为n的数组里的所有数字都在...
  • qq_36427732
  • qq_36427732
  • 2018-03-19 08:57:18
  • 29

剑指offer——数组中重复的数字

问题描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为...
  • sbq63683210
  • sbq63683210
  • 2016-07-20 16:03:12
  • 405

剑指offer:数组中重复的数字

题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7...
  • gao1440156051
  • gao1440156051
  • 2016-05-04 09:56:17
  • 505
收藏助手
不良信息举报
您举报文章:剑指offer-题51:数组中重复的数字
举报原因:
原因补充:

(最多只允许输入30个字)