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 falseboolduplicate(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 temp=numbers[i];
numbers[i]=numbers[temp];
numbers[temp]=temp;}}returnfalse;}};