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

जाँच करने के लिए कार्यक्रम हम पायथन में k से शुरू करके सूची के अंत तक पहुँच सकते हैं

मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक और दूसरी संख्या k कहा जाता है। यदि हम अनुक्रमणिका k से प्रारंभ करते हैं और किसी अनुक्रमणिका i पर, तो हम ठीक-ठीक अंकों [i] चरणों की संख्या से बाएँ या दाएँ जा सकते हैं। हमें यह जांचना होगा कि हम सूची के अंत तक पहुंच सकते हैं या नहीं।

इसलिए, यदि इनपुट nums =[0, 0, 2, 1, 3, 3, 1, 1] k =2 जैसा है, तो आउटपुट ट्रू होगा, जैसे कि हम इंडेक्स 2 से शुरू करते हैं, फिर इंडेक्स 4 पर जाएं और फिर अंतिम अनुक्रमणिका 7 पर जाएं।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे-

  • n:=अंकों का आकार

  • देखी गई :=आकार n की सूची और 0 से भरें

  • tovisit :=आकार 1 की एक सूची, और उसमें k डालें

  • जबकि यात्रा का आकार <0, करें

    • i:=यात्रा से अंतिम तत्व और इसे यात्रा से हटा दें

    • अगर मैं n-1 के समान हूं, तो

    • सही लौटें

  • अगर विज़िट किया गया [i] 1 के समान नहीं है, तो

    • विज़िट किया गया[i]:=1

    • up:=i + nums[i]

    • नीचे:=मैं - अंक [i]

    • अगर ऊपर

    • यात्रा के अंत में डालें

    • अगर नीचे>=0, तो

    • यात्रा के अंत में नीचे डालें

  • झूठी वापसी

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें-

उदाहरण

class Solution:
   def solve(self, nums, k):
      n=len(nums)
      visited = [0]*n
      tovisit = [k]
      while len(tovisit)>0:
         i=tovisit.pop()
         if i==n-1:
            return True
         if visited[i]!=1:
            visited[i]=1
            up=i+nums[i]
            dn=i-nums[i]
         if up=0:
            tovisit.append(dn)
      return False
ob = Solution()
nums = [0, 0, 2, 1, 3, 3, 1, 1]
k = 2
print(ob.solve(nums, k))

इनपुट

[0, 0, 2, 1, 3, 3, 1, 1], 2

आउटपुट

True

  1. पायथन में देखे गए स्थानों पर चलते हुए रोबोट की जाँच करने का कार्यक्रम लक्ष्य तक पहुँच सकता है पायथन में देखे गए स्थानों पर चलते हुए रोबोट की जाँच करने का कार्यक्रम लक्ष्य तक पहुँच सकता है

    मान लीजिए हमारे पास एक रोबोट है, जो वर्तमान में (0, 0) (कार्तीय तल) पर बैठा है। यदि हमारे पास एन (उत्तर), एस (दक्षिण), डब्ल्यू (पश्चिम), और ई (पूर्व) युक्त इसकी चाल की सूची है। हालाँकि, यदि रोबोट किसी ऐसे स्थान पर पहुँचता है जहाँ वह पहले रहा है, तो वह उसी दिशा में आगे बढ़ता रहेगा जब तक कि वह एक नए अ

  1. - यह जाँचने के लिए कार्यक्रम कि क्या हम पायथन में सूचकांक 0 से अंतिम स्थान पर पहुँच सकते हैं

    मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, जहां प्रत्येक संख्या हमारे द्वारा की जा सकने वाली छलांगों की अधिकतम संख्या दर्शाती है; हमें यह जांचना होगा कि क्या हम इंडेक्स 0 से शुरू होने वाले अंतिम इंडेक्स तक पहुंच सकते हैं या नहीं। इसलिए, यदि इनपुट nums =[2,5,0,2,0] जैसा है,

  1. रोबोट की जाँच करने का कार्यक्रम पायथन में लक्ष्य की स्थिति तक पहुँच सकता है या नहीं रोबोट की जाँच करने का कार्यक्रम पायथन में लक्ष्य की स्थिति तक पहुँच सकता है या नहीं

    मान लीजिए हमारे पास एक रोबोट है, जो वर्तमान में (0, 0) (कार्तीय तल) पर बैठा है। यदि हमारे पास एन (उत्तर), एस (दक्षिण), डब्ल्यू (पश्चिम), और ई (पूर्व) युक्त इसकी चालों की सूची है। हमें यह जांचना होगा कि क्या यह गंतव्य निर्देशांक (x, y) पर पहुंच सकता है। इसलिए, यदि इनपुट चाल =[एन, एन, ई, ई, एस], (एक्