以 JavaScript 構築產品陣列
我們需要編寫一個 JavaScript 函式,它接受一個數字陣列。該函式應根據原始陣列構建一個新陣列。新陣列的每個對應元素都應該是原始陣列(包括該元素)中所有元素的乘積。
例如 −
如果輸入陣列為 −
const arr = [1, 2, 3, 4, 5];
那麼輸出陣列應該是 −
const output = [120, 60, 40, 30, 24];
我們必須線上性時間和常量空間內實現這一點(顯然不包括用於構建新陣列的空間)。
示例
以下是程式碼 −
const arr = [1, 2, 3, 4, 5];
const exclusiveProduct = (arr = []) => {
// O(n) time complexity
const product = arr.reduce((acc, val) => acc * val);
const res = [];
// O(n) time complexity
for(let i = 0; i < arr.length; i++){
const el = arr[i];
res[i] = product / el;
};
return res;
};
console.log(exclusiveProduct(arr));輸出
以下是在控制檯上的輸出 −
[120, 60, 40, 30, 24]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP