classSolution { public: // Parameters: // numbers: an array of integers // length: the length of array numbers // duplication: (Output) the duplicated number in the array number // Return value: true if the input is valid, and there are some duplications in the array number // otherwise false boolduplicate(int numbers[], int length, int* duplication){ if(numbers==nullptr||length<=0) returnfalse; for(int i=0;i<length;i++) { if(numbers[i]<0||numbers[i]>length-1) returnfalse; } for(int i=0;i<length;i++) { while(numbers[i]!=i) { if(numbers[i]==numbers[numbers[i]]) { *duplication=numbers[i]; returntrue; } int a=numbers[i];//交换 numbers[i]=numbers[a]; numbers[a]=a; } } returnfalse; } };