JavaScript 中最大和的子集
我們需要編寫一個 JavaScript 函式,其中包含一個整數陣列。我們的函式需要查詢具有最大和的非相鄰元素子集。
最後,該函式應計算並返回該子集的總和。
例如 -
如果輸入陣列為 -
const arr = [3, 5, 7, 8, 10];
則輸出應為 20,因為數字的非相鄰子集將為 3、7 和 10。
示例
此程式碼將是 -
const arr = [3, 5, 7, 8, 10];
const maxSubsetSum = (arr = []) => {
let min = −Infinity
const helper = (arr, ind) => {
if ( ind < 0 ){
return min
};
let inc = helper(arr, ind−2);
let notInc = helper(arr, ind−1);
inc = inc == min ? arr[ind] : Math.max(arr[ind], arr[ind] + inc);
return Math.max( inc, notInc );
};
return helper(arr, arr.length − 1);
};
console.log(maxSubsetSum(arr));輸出
並且控制檯中的輸出將為 -
20
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP