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

जावास्क्रिप्ट का उपयोग करके संयोजन योग समस्या

<घंटा/>

मान लीजिए कि हमें उम्मीदवार संख्या का एक सेट (डुप्लिकेट के बिना) और एक लक्ष्य संख्या (लक्ष्य) दिया गया है।

हमें एक ऐसा फ़ंक्शन लिखना है जो उम्मीदवारों में सभी अद्वितीय संयोजन ढूंढता है जहां उम्मीदवार संख्या लक्ष्य के बराबर होती है।

वही दोहराई गई संख्या उम्मीदवारों से असीमित बार चुनी जा सकती है।

नोट -

  • सभी संख्याएं (लक्ष्य सहित) धनात्मक पूर्णांक होंगी।

  • समाधान सेट में डुप्लिकेट संयोजन नहीं होने चाहिए।

उदाहरण के लिए -

यदि इनपुट हैं -

candidates = [2,3,6,7], target = 7,

इसका समाधान हो सकता है -

[
   [7],
   [2,2,3]
];

चूंकि समस्या सभी संभावित परिणाम प्राप्त करने की है, न कि सर्वोत्तम या परिणामों की संख्या, इसलिए हमें डायनामिक प्रोग्रामिंग पर विचार करने की आवश्यकता नहीं है, इसे संभालने के लिए रिकर्सन का उपयोग करके बैकट्रैकिंग दृष्टिकोण की आवश्यकता है।

उदाहरण

निम्नलिखित कोड है -

const recursiveSum = (
   candidates,
   remainingSum,
   finalCombinations = [],
   currentCombination = [],
   startFrom = 0,
) => {
   if (remainingSum < 0) {
      return finalCombinations;
   }
   if (remainingSum === 0) {
      finalCombinations.push(currentCombination.slice());
      return finalCombinations;
   }
   for (let candidateIndex = startFrom; candidateIndex < candidates.length; candidateIndex += 1) {
      const currentCandidate = candidates[candidateIndex];
      currentCombination.push(currentCandidate);
      recursiveSum(
         candidates,
         remainingSum - currentCandidate,
         finalCombinations,
         currentCombination,
         candidateIndex,
      );
      currentCombination.pop();
   }
   return finalCombinations;
}
const combinationSum = (candidates, target) => recursiveSum(candidates, target);
console.log(combinationSum([2, 3, 6, 7], 7));

आउटपुट

कंसोल पर आउटपुट निम्नलिखित है -

[ [ 2, 2, 3 ], [ 7 ] ]

  1. जावास्क्रिप्ट आयात में '{ }' का उपयोग करना?

    जावास्क्रिप्ट आयात में {} का उपयोग करने वाला कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .result {फ़ॉन्ट-आकार:18पीएक्स; फ़ॉन्ट-वजन:500; रंग:रेबेकापर्पल; }जावास्क्रिप्ट आयात में { } का उपयोग करनायहां क्लिक करेंआयातित फ़ंक्शन को निष्पाद

  1. जावास्क्रिप्ट का उपयोग करके ऐरे में नेस्टेड ऑब्जेक्ट मानों का योग

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

  1. जावास्क्रिप्ट का उपयोग करके एक आयत में सभी वर्गों की परिधि का योग

    समस्या मान लीजिए कि इस तरह एक आयत के अंदर 5 वर्ग एम्बेडेड हैं - उनका परिमाप होगा - 4 + 4 + 8 + 12 + 20 = 48 units हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक संख्या n लेता है और यदि n वर्ग एम्बेडेड हैं तो परिधि का योग वापस कर दें। उदाहरण निम्नलिखित कोड है - const num = 6; const findPerimeter =