今日は、javaとアルゴリズムの話題を書き始めました。
影響を受ける、N-1のアレイ0に格納されている長さnの配列は、デジタルアレイは、この番号を出力する、重複しています。
アイデア:各NUMS [i]の値は、彼が元に属している必要があり、その場所に等しい電流値の値があれば、それを繰り返す場所に移動されます。
Javaが使用されていないので、次の構文エラー。
直接背中に書かれた時間に1アレイの割り当て、。一方、配列の長さを入れていないいる[] int型。
2.swap機能、交換アレイの二つの値。あなたは次のように直接書き込む、などの任意のポインタを必要としません。
パブリッククラスのテスト{ 公共の静的な無効メイン(文字列[] args){ // TODO自動生成方法スタブ INT [] =新しいINT [] {2,3,1,0,2,5}。 試験T =新しいテスト(); System.out.println(T.solution(6))。 } パブリックINT溶液(int型NUMS []、int型の長さ){ IF(長さ<= 0) 戻り0; 以下のために(; iは長さ<; I = 0 int型私は++) { 一方(NUMS [I] = I!){ IF(NUMS [I] == NUMS [NUMS [I]) 戻りNUMS [I]。 スワップ(NUMS、I、NUMS [I])。 } } 0を返します。 } 公共ボイドスワップ(int型NUMS []、INT A、INT B){ int型T = NUMS [A]。 NUMS [A] = NUMS [B]。 NUMS [B] = T。 } }