(は のサブセット)などを考えint[] A = new int[1000]
てみましょう。Javaで最速の方法で配列を見つける方法は? 指定された配列と の両方がソートされます。int[] subA = new int [300]
subA \in A
subA
A
A \ subA
A
subA
編集:申し訳ありませんが、配列にはさまざまな要素が含まれていることを忘れていました。単に行列の行などの別の構造のインデックスが含まれているだけです。
私はこの解決策を考えています:
// supp is short for supplement
int[] supp = new int[A.length - subA.length];
int j = A[0], c = 0;
for (int i = 0; i < subA.lengh; i++) {
// elegantly can be: while (j < subA[i]) supp[c++] = j++;
while (j < subA[i]) {
supp[c] = j;
c++; j++;
}
j = subA[i] + 1;
}
現在、このアプローチをテストしています。答えの準備ができたら戻ってきます。