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

जावास्क्रिप्ट में सीढ़ियाँ चढ़ने के अभ्यास के लिए बैकट्रैकिंग कैसे लागू करें?


मान लीजिए कि हमें एक सीढ़ी पर चढ़ने की जरूरत है जिसमें n सीढ़ियां हैं, और हम सीढ़ियां चढ़कर कुछ अतिरिक्त व्यायाम करने का निर्णय लेते हैं।

हम एक ही छलांग में अधिकतम k चरणों को कवर कर सकते हैं। सीढ़ियों में सीढ़ियों की संख्या के बावजूद k या तो 1 या 2 होगा।

हमें छलांग के सभी संभावित अनुक्रमों को वापस करने की आवश्यकता है जो आप सीढ़ी पर चढ़ने के लिए ले सकते हैं, क्रमबद्ध करें।

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

for n = 4 and k = 2,

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

climbingStaircase(n, k) = [[1, 1, 1, 1], [1, 1, 2], [1, 2, 1], [2, 1, 1], [2, 2]];

उदाहरण

इसके लिए कोड होगा -

const n = 4;
const climbStairs = (n) => {
   if (n == 0) return 0;
   let memory = new Map();
   let recur = (left) => {
      if (memory.has(left)) return memory.get(left);
      if (left <= 0) return 0;
      if (left == 1) return 1;
      if (left == 2) return 2;
      memory.set(left, recur(left − 2) + recur(left − 1));
      return memory.get(left);
   };
   return recur(n);
};
console.log(climbStairs(n));

आउटपुट

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

5

  1. जावास्क्रिप्ट सरणी में किसी तत्व की खोज कैसे करें?

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

  1. जावास्क्रिप्ट में एसिंक्रोनस लूप को कैसे कार्यान्वित करें?

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

  1. कैसे जावास्क्रिप्ट में प्रत्येक वस्तु के लिए एक अद्वितीय आईडी बनाने के लिए?

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