duplicate

来源:互联网 发布:淘口令没有在淘宝弹出 编辑:程序博客网 时间:2024/06/05 19:48
#include <string>#include <iostream>#include <vector>using namespace std;class Solution {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    bool duplicate(int numbers[], int length, int* duplication) {        bool find=false;        for(int i=0;i<length;i++)        {            if(numbers[i]<0||numbers[i]>length-1)                return false;            while(i!=numbers[i])            {                if(numbers[numbers[i]]==numbers[i])                {                    find=true;                    (*duplication)=numbers[i];                    break;                }                int temp=numbers[numbers[i]];                numbers[numbers[i]]=numbers[i];                numbers[i]=temp;            }            if(find)                break;        }        if(find)        {            for(int i=0;i<length;i++)                if(numbers[i]<0||numbers[i]>length-1)                    return false;            return true;        }        return false;    }};
1 0
原创粉丝点击