Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में लक्ष्य योग तक पहुंचने वाले सभी संभावित संयोजन


समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो अद्वितीय पूर्णांकों की एक सरणी arr को पहले आर्गुमेंट के रूप में और लक्ष्य योग को दूसरे आर्गुमेंट के रूप में लेता है।

हमारे फ़ंक्शन को उन सभी जोड़ों (पुनरावृत्ति की अनुमति के साथ) की संख्या गिननी चाहिए जो लक्ष्य योग तक जुड़ सकते हैं और वह संख्या वापस करनी चाहिए।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const arr = [1, 2, 3]; 
const target = 4;

तो आउटपुट होना चाहिए -

const output = 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; 
  }; 
  if (typeof map[target] != "undefined"){ 
    return map[target]; 
  }; 
  let res = 0; 
  for (let i = 0; i < nums.length; i++) { 
    if (target >= nums[i]){ 
      res += sumUpto(nums, target - nums[i], map); 
    }; 
  }; 
  map[target] = res; 
  return res; 
}; 
console.log(sumUpto(arr, target));

आउटपुट

कंसोल में आउटपुट होगा -

7

  1. जावास्क्रिप्ट में लूप में देरी कैसे जोड़ें? जावास्क्रिप्ट में लूप में देरी कैसे जोड़ें?

    लूप में देरी जोड़ने के लिए, जावास्क्रिप्ट में setTimeout() मेथड का उपयोग करें। लूप में देरी जोड़ने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <tit

  1. जावास्क्रिप्ट में new.target जावास्क्रिप्ट में new.target

    new.target एक मेटाप्रॉपर्टी है जो हमें रनटाइम पर यह निर्धारित करने की अनुमति देती है कि कोई फ़ंक्शन या कंस्ट्रक्टर new कीवर्ड का उपयोग करके बुलाया गया था या नहीं। जावास्क्रिप्ट में new.target के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <me

  1. क्या पहले से घोषित वेरिएबल्स को डीस्ट्रक्चर करना संभव है? जावास्क्रिप्ट में? क्या पहले से घोषित वेरिएबल्स को डीस्ट्रक्चर करना संभव है? जावास्क्रिप्ट में?

    जावास्क्रिप्ट में पहले से घोषित वेरिएबल्स को डीस्ट्रक्चर करने के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /&