আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা পূর্ণসংখ্যার অ্যারে নেয়। আমাদের ফাংশনটি সর্বাধিক যোগফল সহ অ-সংলগ্ন উপাদানগুলির উপসেট খুঁজে বের করতে হবে।
এবং অবশেষে, ফাংশনটি গণনা করে সেই উপসেটের যোগফল ফেরত দিতে হবে।
যেমন −
যদি ইনপুট অ্যারে −
হয়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