01--配列重複番号を検索

/ **トピック

*長さNのアレイ内のすべての数字は、n 0〜1の範囲です。

*特定の番号は、アレイ内で繰り返されているが、それぞれの数は数回繰り返したかわからない、繰り返し何の数字かわかりません。

*任意の数の配列の繰り返しを探します。例えば、入力配列の長さは7 {2、3、1、0、2、5、3}、対応する出力は繰り返し数2又は3です。

* /

 

/ **アイデア:

* 1、指定された配列の長さを入力し、データの配列を準備することをユーザに可能に(不正ユーザ入力データを考慮していません)

* 2、配列によって再設定し、その後、アレイのような二つの数値の重複配列にのみ含まれ得ることが、保存し、(重量を継続する必要があり、この配列データの重複が依然として可能であることに留意されたいです)

* 3、出力

* /

 

輸入java.utilの。*; 
パブリッククラスデモ{
パブリック静的無効メイン(文字列[] args){

 // ------------------------------------------準備作業--- -------------------------------------------------- - 

//入力配列の長さは、
スキャナスキャナ新新SC =(System.in);
System.out.printの( "入力してください範囲(0〜N-):" + "\ T");
int型= N-sc.nextInt ();

質問の//配列が尋ねた
のArrayListを<整数> =新しい新しいARRのArrayList <>();
//重複排除配列
のHashSet <整数> = MSET新しい新しいHashSetの<>();

ランダム新新RAN =ランダム();
//配列に格納されたランダムなn倍、数nが生成される、
ための(I 0 = int型; Iは、N <; Iは++){
//の間0〜N 1乱数を生成し、アレイ内
のint jは=走りました。 nextInt(N-);
(J)arr.add;
mset.add(J);
}
のSystem.out.println(「----------------------- - [元のデータ] ----------------------- ");
のSystem.out.println("ランダム配列であります: "+ ARR)。
System.out.println(「基準値に対する重量:」+ MSET)。

 // ------------------------------------------データ操作---- -------------------------------------------------- - 

//このとき、被験者の要求に沿っての配列を得るために、無重複セットを設定する
(arr.size()<= 0 || ARR == NULL){IF
のSystem.out.println(「!無効な配列」 );
}
IF(arr.size()== mset.size()){
System.out.printlnは( "リピートフリーのデジタル配列を!");
}他{
//重複した数字、配列を繰り返すことである:ARRアレイは繰り返し配列MSETを減算
(整数整数:MSET)のために{
//削除し、再度ARR配列の最初のインデックス番号を取得
INT arr.indexOf I =(整数)、
(I)arr.remove;
}

/ /重量行く
HashSetの<整数> =新しい新しいHashSetの一覧<>を();
(整数I:ARR)のために{
List.add(I);
}
//繰り返し回数です。
System.out.println( "重複した値:" +リスト);
}

}

}

おすすめ

転載: www.cnblogs.com/eiyuan/p/11250342.html