`

数组中 重复的数字

阅读更多

题目描述

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

题目地址

 

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 num[],int length,int [] dup) {
    	if(num == null || length <0)
            return false;
        for(int i = 0 ; i<length;i++){
            if(num[i]<0||num[i]>length-1)
                return false;
        }
        int t = 0;
        for(int i = 0 ; i<length;i++){
            while(num[i]!=i){
                if(num[i] == num[num[i]]){
                    dup[t++] = num[i];
                    return true;
                }
                int temp = num[i];
                num[i] = num[temp];
                num[temp] = temp;
            }
        }
        return false;
    }
}

 

分享到:
评论

相关推荐

    matlab中如何去掉数组中重复的值

    Matlab 中去掉数组中重复的值 Matlab 是一个功能强大的数学和技术计算软件,对于数据处理和分析有着广泛的应用。在数据处理过程中,去除数组中重复的值是一个常见的问题,本文将介绍 Matlab 中去掉数组中重复的值的...

    Java 剑指offer(1) 找出数组中重复的数字.pdf

    本资源为Java语言编写,旨在解决数组中重复数字的问题。该问题描述为:在一个长度为n的数组里的所有数字都在0到n-1的范围内,数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找...

    数组中重复的数字_数组中重复的数字_

    找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

    找出数组中重复的数字.rar

    剑指offer面试题库中第三题的C语言代码。在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

    C语言查找数组里数字重复次数的方法

    本文实例讲述了C语言查找数组里数字重复次数的方法。分享给大家供大家参考。具体如下: #include stdafx.h #include #include using namespace std; int main() { int myarray[10]={4,3,7,4,8,7,9,4,3,6}; ...

    二维数组去除重复项

    3. **重构数组**:利用`array_unique()`函数去除`$temp`数组中的重复字符串,得到没有重复项的数组。然后再次遍历这个数组,根据`$stkeep`和`$ndformat`的值决定是否恢复原始的键名和子数组的键名。最后,将结果存储...

    Java如何找出数组中重复的数字

    1. 数组中的重复数字问题是剑指offer中的经典面试题,旨在考察程序员的编程能力和算法思维。 2. 算法思路是从头到尾依次扫描数组中的每个数字,并使用索引值和数字值进行比较。 3. 使用Java语言可以实现该算法,通过...

    用算法去除数组中重复的数字

    用算法去除数组中重复的数字(不使用查重函数)通过嵌套for循环和if条件判断实现,用算法去除数组中重复的数字(不使用查重函数)通过嵌套for循环和if条件判断实现

    数组中重复的数字(C语言/C++)

    数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 : 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 复制 思路分析 首先想到的是暴力法—两...

    python 实现 数组中重复的数字

    python 实现 数组中重复的数字

    数组中重复的数字1

    它通过不断交换来尝试使数组中的每个数字到达其对应的索引位置,过程中一旦发现有数字与其索引相同并且再次出现,即可确定为重复数字。这种方法的时间复杂度为 O(n),空间复杂度为 O(1),因为它只需要常量级别的额外...

    1、数组中重复的数字(python)

    这个方法的思路是先使用Python内置的`sort()`函数对数组进行排序,排序后的数组中,相邻的重复数字会相邻出现。因此,遍历排序后的数组,如果发现相邻的两个元素相等,那么这个元素就是重复的数字。这种方法的时间...

    找出数组中重复的数字.md

    找出数组中重复的数字.md

    C语言 数组中重复的数字分析及方法

    C语言 数组中重复的数字解决方法: 题目:在一个长度为n的数组里的所有数字都在0-n-1的 范围内。数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字...

    java基础面试题数组中重复的数字

    java基础面试题数组中重复的数字本资源系百度网盘分享地址

    剑指Offer(Python多种思路实现):数组中重复的数字

    剑指Offer(Python多种思路实现):数组中重复的数字 不修改数组找出重复的数字面试3题: 题:数组中重复的数字 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个...

    python-剑指offer第50题数组中重复的数字

    python python_剑指offer第50题数组中重复的数字

    替换随机数组的重复数

    本文将详细介绍如何通过算法确保生成的随机数组中的数字不重复,特别是在ID序列从0到36的情况下。 #### 问题背景与需求分析 在开发过程中,可能会遇到需要生成一系列唯一的随机数的情况,例如为每个用户分配一个...

    【剑指offer】面试题3-数组中的重复数字

    数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 解题...

Global site tag (gtag.js) - Google Analytics