タイトル説明
アレイにおけるnの長さの全ての数は、n-1の範囲は0です。一部のデジタル配列が重複しているが、重複しているどのように多くの番号がわかりません。各桁が数回繰り返されるか分からないのです。重複した数字のいずれかの配列を見つけてください。例えば、もし入力アレイ7 {2,3,1,0,2,5,3}の長さは、第2の繰り返し桁の対応する出力。
思考:位置番号は直接対応するように数値範囲は、範囲0-N-1に加えて、配列の長さであるので
図2に示す第一の位置に加えて、配列の長さ等は、その後、一度アクセスした位置2で表される値は二回訪れた記述の2倍を超える長さである場合
パブリック クラスソリューション{ // パラメータ: // 番号:整数の配列 // 長さ:配列番号の長 // (出力)配列番号に複製数、複製配列の長さは1であるため、使用して複製:複製[0] =?実装では、 // ここでpointorのような重複にC / C ++、重複[0]内には、C / C ++で*重複を等しく // 这里要特别注意〜返回任意重复的一个、赋值重複[0] // 入力がある場合はtrue:戻り値有効、および配列番号で、いくつかの重複があります 。// そうでない場合はfalse 公衆 ブール重複(INTの番号[]、int型の長さ、INT []複製){ ため(INT I = 0、I <長さ、I ++ ){ int型のインデックス=番号[I]%の長さ。 番号[インデックス] + = 長さ。 もし(番号[インデックス]> = 2× 長さ){ 重複[ 0] = インデックス。 返す 真; } } を返す 偽。 } }