আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে সংখ্যার অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসাবে একটি টার্গেট যোগ সংখ্যা নেয়৷
ফাংশন মূল অ্যারে থেকে সেই সমস্ত সাব্যারেগুলির একটি অ্যারে ফেরত দেবে যার উপাদানগুলি লক্ষ্য যোগফল তৈরি করবে। যোগফল অর্জনের জন্য আমরা একটি একক সংখ্যা দুইবার ব্যবহার করতে পারি।
যেমন −
যদি ইনপুট অ্যারে এবং সংখ্যা হয় −
const arr =[1, 2, 4];const sum =4;
তাহলে আউটপুট −
হওয়া উচিতকনস্ট আউটপুট =[ [1, 1, 1, 1], [1, 1, 2], [2, 2], [4]]
উদাহরণ
const arr =[1, 2, 4];const sum =4;const getCombinations =(arr =[], sum) => { const ফলাফল =[]; const pushElement =(i, t) => { const s =t.reduce(function (a, b) { রিটার্ন a + b; }, 0); যদি (সমষ্টি ===s) { result.push(t); প্রত্যাবর্তন }; if (s> sum || i ===arr.length) { ফেরত; }; pushElement(i, t.concat([arr[i]])); pushElement(i + 1, t); } pushElement(0, []); ফলাফল ফেরত;};console.log(getCombinations(arr, sum));
আউটপুট
এবং কনসোলে আউটপুট হবে −
<প্রে>[ [ 1, 1, 1, 1 ], [ 1, 1, 2 ], [ 2, 2 ], [ 4 ] ]