使用 Java 指令碼計算兩個集合的笛卡爾積


笛卡爾積 

插入笛卡爾積的理論是一種數學運算,它從多個集合返回一個集合(或積集合或簡單地稱為積)。

即,對於集合 A 和 B,笛卡爾積 A × B 是所有有序對 (a, b) 的集合,其中 a ∈ A 且 b ∈ B。

我們要求編寫一個 JavaScript 函式,它接收兩個陣列(姑且稱它們為 arr1 和 arr2),它們都表示兩個不同的集合。

該函式應構建一個包含這兩個集合的笛卡爾積的二維陣列,並最終返回該陣列。

示例

以下是程式碼 -

const arr1 = [1, 2, 3, 4];
const arr2 = [5, 6, 7, 8];
const cartesianProduct = (arr1 = [], arr2 = []) => {
   if (!arr1 || !arr2 || !arr1.length || !arr2.length) {
      return null;
   };
   const res = [];
   for (let i = 0; i < arr1.length; i += 1) {
      for (let j = 0; j < arr2.length; j += 1) {
         res.push([arr1[i], arr2[j]]);
      };
   };
   return res;
};
console.log(cartesianProduct(arr1, arr2));

輸出

以下是控制檯上的輸出 -

[
   [ 1, 5 ], [ 1, 6 ],
   [ 1, 7 ], [ 1, 8 ],
   [ 2, 5 ], [ 2, 6 ],
   [ 2, 7 ], [ 2, 8 ],
   [ 3, 5 ], [ 3, 6 ],
   [ 3, 7 ], [ 3, 8 ],
   [ 4, 5 ], [ 4, 6 ],
   [ 4, 7 ], [ 4, 8 ]
]

更新日期:31-3-2023

211 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.