题解 | #数组中重复的数字#

数组中重复的数字

https://www.nowcoder.com/practice/6fe361ede7e54db1b84adc81d09d8524

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param numbers int整型一维数组 
 * @param numbersLen int numbers数组长度
 * @return int整型
 */
int swap(int *a,int *b)
{
  int temp;
  temp=*a;
  *a=*b;
  *b=temp;
  return 0;
}

int duplicate(int* numbers, int numbersLen ) {
    int i = 0;
    while(i<numbersLen){
        if(numbers[i] == i){
            i++;
            continue;
        }else{
            if(numbers[i]==numbers[numbers[i]])
                return numbers[i];
           else{
               swap(&numbers[i], &numbers[numbers[i]]);
            }
        }

    }
    return -1;
}

全部评论

相关推荐

我是小红是我:学校换成中南
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 19:05
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务