JavaScript 中每個索引的累積和
在給定的問題陳述中,我們必須藉助 Javascript 功能計算每個索引處的累積和。因此,我們將使用基本的 Javascript 語法和函式來解決此問題。
什麼是累積和?
累積和也稱為執行和或字首和。因此,此和是對直到給定索引或位置的一系列數字的和的計算。在此過程中,數字迭代地將序列中的每個數字新增到前面專案的總和中。因此,結果新序列中的每一項都顯示了包括數字本身在內所有前面專案的總和。
為了說明這個概念,讓我們看一個例子。假設我們有一個數組 [1, 2, 3, 4, 5]。那麼每個索引處的累積和將是
索引 0 - 1
索引 1 - 1 + 2
索引 2:1 + 2 + 3 = 6
索引 3:1 + 2 + 3 + 4 = 10
索引 4:1 + 2 + 3 + 4 + 5 = 15
因此,累積和陣列將為 [1, 3, 6, 10, 15]。在這個新序列中,每一項都顯示了給定陣列中直到該最後一個索引的所有專案的總和。
理解問題
手頭的問題是計算給定陣列的累積和。正如我們上面所看到的,累積和究竟是什麼。因此,在本文中,我們將解決此問題,並討論演算法、程式碼和複雜性以獲得所需的結果。
給定問題的邏輯
為了解決計算每個索引處的累積和的給定問題,我們將迭代陣列並將當前項新增到前面專案的執行和中。因此,首先我們將初始和設定為 0 並迭代陣列中的每一項。在每個索引處,我們將當前項新增到執行和中,並將其儲存在新結果陣列的相應索引中。
演算法
步驟 1:因此,我們必須計算給定陣列的累積和,因此首先我們將建立一個函式並將其命名為 cumulativeSum,在這個函式中,我們將傳遞一個數組引數 arr。
步驟 2:建立上述函式後,我們將建立空結果陣列,該陣列將用於儲存累積和。
步驟 3:然後,我們將使用一個名為 sum 的變數來儲存專案的執行和,並將其初始化為零。
步驟 4:現在我們已經定義了所有必要的東西,之後我們需要迭代給定輸入陣列中的每一項 num。並將 num 加到 sum 以計算累積和。然後,我們將 sum 變數的當前值推入我們上面建立的結果陣列中。
步驟 5:最後,我們將返回結果陣列的值以顯示累積和陣列。
演算法程式碼
示例
//Function to get the cumulative sum
function cumulativeSum(arr) {
let result = [];
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
result.push(sum);
}
return result;
}
//Usage
const inputArray = [11, 21, 31, 41, 51];
const cumulativeSums = cumulativeSum(inputArray);
console.log(cumulativeSums);
輸出
[ 11, 32, 63, 104, 155 ]
複雜度
計算給定陣列中每個索引的累積和的時間複雜度為 O(n),其中 n 是給定輸入陣列的大小。這種複雜性的原因是程式碼迭代陣列一次以計算所需的和。空間複雜度也是 O(n),因為我們建立了一個新陣列來儲存累積和。
結論
程式碼已成功顯示給定陣列中每個索引處的累積和。由於我們已經迭代給定陣列一次以獲得每個索引處的累積和,因此時間複雜度為 O(n)。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP