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

यह जांचने के लिए कार्यक्रम कि हम पत्थरों से नदी पार कर सकते हैं या नहीं, पायथन में

मान लीजिए कि हमारे पास क्रमबद्ध संख्याओं की एक सूची है जिसे पत्थर कहा जाता है और यह नदी पर पत्थरों की स्थिति का प्रतिनिधित्व कर रहा है जिसे हम पार करने की कोशिश कर रहे हैं। नदी पार करने के लिए, हमें अंतिम पत्थर पर समाप्त करना होगा। अब प्रत्येक चरण में, हम (k - 1, k, या k + 1) कदम आगे बढ़ सकते हैं, जहां k अंतिम छलांग की दूरी है। हमें यह देखना होगा कि हम नदी पार कर सकते हैं या नहीं।

इसलिए, यदि इनपुट पत्थरों की तरह है =[0, 1, 3, 4, 5, 6, 8, 9, 13], तो आउटपुट ट्रू होगा, जैसा कि हम 0 से शुरू कर सकते हैं, फिर स्टोन जाने के लिए 1 यूनिट कूदें 1, फिर 2 इकाइयों को 3, उसके बाद 2 इकाइयों को 5, फिर 3 इकाइयों को 8, और अंत में 5 इकाइयों को 13 जाना है, और यह अंतिम स्थान है।

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

  • प्रारंभ:=A[0], अंत:=A का अंतिम तत्व
  • A :=A के सभी अद्वितीय तत्वों का एक सेट
  • एक फ़ंक्शन को परिभाषित करें check() । यह स्थिति लेगा:=प्रारंभ, पिछला:=0
  • यदि स्थिति अंत के समान है, तो
    • सही लौटें
  • [पिछला -1, पिछला, पिछला + 1] में प्रत्येक छलांग के लिए, करें
    • अगर कूदो>=1, तो
      • next_pos :=जम्प + पॉज़
      • अगर next_pos A में है और check(next_pos, jump) सही है, तो
        • सही लौटें
  • झूठी वापसी
  • मुख्य विधि से कॉल चेक () और परिणाम लौटाएं

उदाहरण (पायथन)

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

class Solution:
   def solve(self, A):
      start, end = A[0], A[-1]
      A = set(A)
      def check(pos=start, prev=0):
         if pos == end:
            return True
         for jump in [prev - 1, prev, prev + 1]:
            if jump >= 1:
               next_pos = jump + pos
               if next_pos in A and check(next_pos, jump):
                  return True
         return False
      return check()
ob = Solution()
stones = [0, 1, 3, 4, 5, 6, 8, 9, 13]
print(ob.solve(stones))

इनपुट

[0, 1, 3, 4, 5, 6, 8, 9, 13]

आउटपुट

True

  1. एक स्ट्रिंग की जाँच करने के लिए प्रोग्राम पायथन में पैलिंड्रोम है या नहीं

    मान लीजिए कि हमारे पास एक स्ट्रिंग s है; हमें जांचना है कि यह पैलिंड्रोम है या नहीं। जैसा कि हम जानते हैं कि पैलिंड्रोम तब होता है जब शब्द आगे और पीछे एक ही होता है। इसलिए, यदि इनपुट s =रेसकार जैसा है, तो आउटपुट ट्रू होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - t :=s के विपरीत यदि t, s क

  1. पायथन प्रोग्राम यह जांचने के लिए कि कोई नंबर प्राइम है या नहीं

    इसमें हम एक प्रोग्राम लिखेंगे जो यह जांच करेगा कि दी गई संख्या जो 1 से बड़ी है अभाज्य है या नहीं। एक अभाज्य संख्या 1 से बड़ा एक धनात्मक पूर्णांक है और जिसके केवल दो गुणनखंड 1 हैं और स्वयं संख्या उदाहरण संख्या:2, 3, 5, 7… आदि अभाज्य संख्याएँ हैं क्योंकि उनके केवल दो गुणनखंड हैं। 1 और नंबर ही। # Pyth

  1. पायथन प्रोग्राम यह जांचने के लिए कि कोई स्ट्रिंग पैलिंड्रोम है या नहीं

    एक स्ट्रिंग को देखते हुए, हमारा काम मौसम की जांच करना है कि यह स्ट्रिंग पैलिंड्रोम है या नहीं। एल्गोरिदम Step1: Enter string as an input. Step2: Using string slicing we reverse the string and compare it back to the original string. Step3: Then display the result. उदाहरण कोड my_string=input("Ent