Grid पर Paths गिनना
एक corner से दूसरे corner तक के paths जोड़ें
Grid पर Paths गिनना, CoddyKit पर Competitive Programming Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Competitive Programming Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
क्लासिक ग्रिड समस्या
आप ग्रिड के ऊपरी-बाएँ कोने से शुरू करते हैं और निचले-दाएँ कोने तक पहुँचना चाहते हैं। हर कदम दाएँ या नीचे जाता है। कितने अलग-अलग पथ मौजूद हैं?
DP क्यों उपयुक्त है
हर कोशिका तक उसके ऊपर वाली या बाईं ओर वाली कोशिका से पहुँचा जा सकता है। यही अतिव्यापन इस समस्या को ठीक DP समस्या बनाता है।
अवस्था निर्धारित कीजिए
मान लीजिए dp[i][j] आरंभिक कोशिका से (i, j) कोशिका तक पहुँचने के तरीकों की संख्या है। अवस्था को स्पष्ट नाम देना आधी समस्या हल कर देता है।
संक्रमण
आप केवल ऊपर या बाईं ओर से पहुँच सकते हैं, इसलिए संख्या उनका योग होगी। यही संक्रमण पूरी तालिका को संचालित करता है।
dp[i][j] = dp[i-1][j] + dp[i][j-1]आधार स्थिति
आरंभिक कोशिका तक पहुँचने का ठीक एक तरीका है: कुछ न करना। इसलिए बाकी कुछ भरने से पहले dp[0][0] का मान 1 होता है।
dp[0][0] = 1किनारों पर एक ही पथ
ऊपरी पंक्ति या बाएँ स्तंभ की कोशिकाओं तक पहुँचने का केवल एक सीधा मार्ग होता है। उनकी संख्या हमेशा 1 होती है, क्योंकि एक पड़ोसी ग्रिड के बाहर होता है।
तालिका बनाइए
शून्यों से भरी हुई m गुणा n तालिका बनाइए। पहले से आकार तय करने पर सूचकांक साफ़ रहते हैं और अनपेक्षित समस्याओं से बचा जा सकता है।
dp = [[0] * n for _ in range(m)]पढ़ने के क्रम में भरिए
पहले पंक्तियों और फिर स्तंभों पर लूप चलाइए, ऊपर से नीचे और बाएँ से दाएँ। यह क्रम सुनिश्चित करता है कि उपयोग करने से पहले दोनों पड़ोसी तैयार हों।
for i in range(m):
for j in range(n):
...उत्तर वाली कोशिका
भरने के बाद पथों की संख्या अंतिम कोशिका में होती है। उत्तर dp[m-1][n-1] है, जो निचले-दाएँ कोने पर स्थित है।
answer = dp[m-1][n-1]एक पंक्ति से स्मृति बचाइए
हर पंक्ति को केवल अपने ऊपर वाली पंक्ति की आवश्यकता होती है, इसलिए आप एक ही पंक्ति रखकर उसी में मान अद्यतन कर सकते हैं। इससे स्मृति O(n) तक घट जाती है।
row[j] += row[j-1]गणितीय शॉर्टकट
जब कोई अवरोध न हो, तो उत्तर एक द्विपद गुणांक होता है: कुल कदमों में से नीचे जाने वाले कदम चुनिए। अवरोध आने पर भी DP उपयोगी रहता है।
त्वरित जाँच
आप किसी खुली आंतरिक कोशिका के लिए dp[i][j] भर रहे हैं। कौन-सा सूत्र सही है?
पुनरावलोकन: पथों की गिनती
dp को किसी कोशिका तक पहुँचने वाले पथों के रूप में निर्धारित कीजिए, dp[0][0] को 1 रखिए और ऊपर वाली कोशिका तथा बाईं ओर वाली कोशिका को जोड़िए। कोने में आपका उत्तर होता है। 🧭
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Grid पर Paths गिनना” पाठ निःशुल्क है?
हाँ—“Grid पर Paths गिनना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Competitive Programming Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Grid पर Paths गिनना” में मैं क्या सीखूँगा?
एक corner से दूसरे corner तक के paths जोड़ें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Competitive Programming Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Competitive Programming Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Competitive Programming Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Grid पर Paths गिनना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Competitive Programming Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Competitive Programming Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Grid पर Paths गिनना
- Obstacles के साथ Minimum Path Sum
- Longest Common Subsequence
- Edit Distance Step by Step