2つの配列の和集合によって形成される配列の長さを見つけようとしています。私はこのような組合要素を印刷することができますが、どのように私の組合配列の長さを取得するか分かりません。何か案は?ユニオン配列の長さを求める
ユニオン配列の可変長をカウントできますか?
int[] array1={1,3,2,5};
int[] array2={4,5,1,3,2};
int m = array1.length, n = array2.length, k = array1.length, i = 0, flag = 0;
int c[] = new int[m + n];
int d[] = new int[m];
for (i = 0; i < m; i++) {
c[i] = array1[i];
}
for (i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (array2[i] != array1[j]) {
flag = 1;
} else {
flag = 0;
break;
}
}
if (flag == 1) {
c[k] = array2[i];
k++;
}
}
int count = 1;
for (i = 0; i < k - 1; i++) {
count++;
}
int p = 0;
for (i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (array2[i] == array1[j]) {
flag = 1;
break;
} else {
flag = 0;
}
}
if (flag == 1) {
d[p] = array2[i];
p++;
}
}
System.out.println("The length of the union array is: " + count);
が理由だけでない 'array1.length + array2.length'? – ThomasEdwin
@ThomasEdwinは、2つの配列に共通の要素がある場合は動作しません。 – Anon
それは9になりますが、ユニオン配列は長さ5の{1,2,3,4,5}です。 –