हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पूर्णांकों की एक सरणी लेता है। हमारे फ़ंक्शन को अधिकतम योग के साथ गैर-आसन्न तत्वों का सबसेट ढूंढना आवश्यक है।
और अंत में, फ़ंक्शन को उस सबसेट के योग की गणना करके उसे वापस करना चाहिए।
उदाहरण के लिए -
यदि इनपुट ऐरे है -
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