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

यह जांचने का कार्यक्रम कि क्या पहला खिलाड़ी कैंडी में जीतता है या पायथन में खेल को हटाता है या नहीं?

मान लीजिए हमारे पास कैंडीज नामक संख्याओं की एक सूची है और कोई अपने मित्र के विरुद्ध खेल खेल रहा है। प्रत्येक दौर में, एक खिलाड़ी समान मूल्य वाली किन्हीं दो लगातार कैंडीज को हटा सकता है। और जो कोई कैंडी नहीं उठा सकता वह हार जाता है और वह खिलाड़ी1 पहले शुरू करता है, हमें यह जांचना होगा कि खिलाड़ी1 जीतेगा या नहीं।

इसलिए, यदि इनपुट nums =[2, 2, 5] जैसा है, तो आउटपुट ट्रू होगा, जैसे कि खिलाड़ी 1 2s को चुनता है तो दूसरा खिलाड़ी कोई कैंडी नहीं चुन सकता है।

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

  • स्टैक :=एक नया स्टैक

  • मोड़ :=0

  • अंकों में प्रत्येक अंक के लिए, करें

    • यदि स्टैक खाली नहीं है और स्टैक का शीर्ष अंक के समान है, तो

      • स्टैक से पॉप करें

      • मुड़ता है :=मुड़ता है + 1

    • अन्यथा,

      • संख्या को स्टैक में पुश करें

  • जब मोड़ विषम हो तो सही हो जाता है अन्यथा गलत होता है


उदाहरण

class Solution:
   def solve(self, nums):
      stack = []
      turns = 0
      for num in nums:
         if stack and stack[-1] == num:
            stack.pop()
            turns += 1
         else:
            stack.append(num)

      return bool(turns & 1)

ob = Solution()
nums = [2, 2, 5]
print(ob.solve(nums))

इनपुट

[2, 2, 5]

आउटपुट

True

  1. पायथन में दिया गया पेड़ सममित पेड़ है या नहीं, यह जांचने के लिए कार्यक्रम

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमें यह जांचना है कि वृक्ष सममित वृक्ष है या नहीं। एक पेड़ को सममित कहा जाएगा यदि वह समान है जब हम उसका दर्पण प्रतिबिम्ब लेते हैं। इन दो पेड़ों से, पहला सममित है, लेकिन दूसरा नहीं है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे। हम निम्नलिखित चरणों क

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

    मान लीजिए हमारे पास बाइनरी ट्री है; हमें यह जांचना होगा कि यह बाइनरी सर्च ट्री है या नहीं। जैसा कि हम जानते हैं कि बीएसटी में निम्नलिखित गुण होते हैं - इसके बाएँ उपप्रकार के सभी नोड वर्तमान नोड मान से छोटे हैं इसके दाहिने सबट्री के सभी नोड वर्तमान नोड मान से बड़े हैं ये गुण सभी नोड्स के लिए पुनरावर

  1. पायथन में दिया गया ग्राफ द्विदलीय है या नहीं, यह जांचने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास एक अप्रत्यक्ष ग्राफ है, हमें यह जांचना है कि ग्राफ द्विदलीय है या नहीं। जैसा कि हम जानते हैं कि एक ग्राफ द्विदलीय होता है जब हम ग्राफ के नोड्स को दो सेट ए और बी में विभाजित कर सकते हैं जैसे कि ग्राफ के प्रत्येक किनारे {यू, वी} में ए में एक नोड और बी में दूसरा नोड वी होता है।