मान लीजिए हमें एक सीढ़ी चढ़नी है जिसमें n स्टेप्स हैं, और हम कूदकर स्टेप्स चढ़कर कुछ अतिरिक्त व्यायाम करने का फैसला करते हैं।
हम एक सिंगल जंप में अधिकतम k स्टेप्स कवर कर सकते हैं। k या तो 1 या 2 होगा, सीढ़ी में स्टेप्स की संख्या के बावजूद।
हमें उन सभी संभावित जंप सीक्वेंस को लौटाना है जो आप सीढ़ी चढ़ने के लिए ले सकते हैं, सॉर्ट किए हुए।
उदाहरण के लिए -
n = 4 और 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