2つのアレイを使用してデカルト積をどのように行うことができますか?2つのアレイのデカルト積
A = {1, 2, 3}
B = {2, 3, 4}
C = {(1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 2), (3, 3), (3, 4)}.
これは私が使用していたコードですが、私は常にIndexOutOfBoundExceptionを取得します。出力配列の
public int[] cartesianProduct(int[] s1, int[] s2) {
ArrayList<Integer> list = new ArrayList<>();
for(int i=0;i < s1.length;i++){
for (int v1: s1) {
for (int v2: s2) {
list.add(s1[i], s2[i]);
}
}
}
int[] result = new int[list.size()];
int k=0;
for(int i: list){
result[k++] = i;
}
return result;
}
あなたは 'list.add何を期待し(S1 [i]は、S2 [i])とを取得する;'行うために? – Eran
デカルト製品にはどのような表現を使いますか?現在、数字のペアを表すものはありません。 –
上記のようにArrayListに値を代入し、上記のようにリストを出力したいと思います。しかし、この方法は機能しません。 –