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

数组中重复的数字

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;
}

全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
亮点儿:昨天二面,今天看状态回到一面了查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务