これは私が苦労している宿題の質問です。
配列をソートしましたが、別の配列を使用して、最初の配列を反復処理し、隣接する項目を比較して重複を削除し、重複していないものを新しい配列に追加する必要があります。完了したら、古い配列 = を新しい配列に設定します。私はJavaに慣れていないため、反復を正しく設定していると思われるいくつかの問題に遭遇しています。
public static void main(String[] args) {
args = new String[] { "data/list1.txt" };
StdIn.fromFile("data/list2.txt");
// StdOut.toFile ("finished.txt");
int[] whitelist = In.readInts(args[0]);
Arrays.sort(whitelist);
int newArray[] = new int[whitelist.length];
for (int i = 0; i < whitelist.length-1; i++) {
int k = 0;
if(whitelist[i+1] > whitelist[i])
newArray[k] = whitelist[i];
k++;
StdOut.println(java.util.Arrays.toString(whitelist));
whitelist = newArray;
}
for (int i=0; i<newArray.length;i++){
StdOut.println(java.util.Arrays.toString(newArray));
}
このコード片はより大きな二分探索の一部ですが、これは私が問題を抱えている部分です。
重複が削除されていないことに加えて、私の出力も数回出力されます。
どんな方向性でも大歓迎です。