समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो अद्वितीय पूर्णांकों की एक सरणी लेता है, पहले तर्क के रूप में गिरफ्तार करता है, और दूसरे तर्क के रूप में लक्ष्य योग करता है।
हमारे फ़ंक्शन को उन सभी जोड़ियों की संख्या गिननी चाहिए (पुनरावृत्ति की अनुमति के साथ) जो लक्ष्य योग में जोड़ सकते हैं और उस गिनती को वापस कर सकते हैं।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr =[1, 2, 3];const target =4;
तब आउटपुट होना चाहिए -
कॉन्स्ट आउटपुट =7;
आउटपुट स्पष्टीकरण:
क्योंकि, संभावित संयोजन तरीके हैं -
(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)पूर्व>उदाहरण
इसके लिए कोड होगा -
const arr =[1, 2, 3];const target =4;const sumUpto =(nums =[], target =1, map ={}) => {if (target ===0){ return 1; }; अगर (टाइपऑफ़ मैप [टारगेट]! ="अपरिभाषित") {रिटर्न मैप [टारगेट]; }; लेट रेस =0; के लिए (i =0; i=nums[i]){res +=sumUpto(nums, target - nums[i], map); }; }; नक्शा [लक्ष्य] =रेस; वापसी रेस;};कंसोल.लॉग(sumUpto(arr, target)); आउटपुट
और कंसोल में आउटपुट होगा -
7