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

पायथन में पहले खिलाड़ी के अधिक कैंडी लेने की जांच करने का प्रोग्राम


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

इसलिए, यदि इनपुट candies = [1, 4, 3, 8] जैसा है, तो आउटपुट True होगा, क्योंकि व्यक्ति 1 पहले राउंड में 8 कैंडीज ले सकता है और चाहे दूसरा व्यक्ति 1 या 3 ले, व्यक्ति 1 शेष कैंडी लेकर जीत सकता है।

हल करने के चरण

  • N := candies का आकार

  • difference() फ़ंक्शन परिभाषित करें। यह left, right लेगा

    • यदि left, right के समान है, तो candies[left] लौटाएं

    • (candies[left] - difference(left + 1, right)) और (candies[right] - difference(left, right - 1)) का अधिकतम लौटाएं

  • मुख्य विधि से निम्नलिखित करें:

    • यदि difference(0, N - 1) > 0 तो true लौटाएं, अन्यथा false

उदाहरण

class Solution:
    def solve(self, candies):
        N = len(candies)
        def difference(left, right):
            nonlocal candies
            if left == right:
                return candies[left]
            return max(candies[left] - difference(left + 1, right), candies[right] - difference(left, right - 1))
        return difference(0, N - 1) > 0

ob = Solution()
candies = [1, 4, 3, 8]
print(ob.solve(candies))

इनपुट

[1, 4, 3, 8]

आउटपुट

True
  1. Python में दो ट्री नोड्स को स्वैप करके बनाए जा सकते हैं या नहीं, इसकी जांच करने का प्रोग्राम Python में दो ट्री नोड्स को स्वैप करके बनाए जा सकते हैं या नहीं, इसकी जांच करने का प्रोग्राम

    मान लीजिए हमारे पास दो ट्री हैं, हमें यह जांचना है कि क्या हम पहले ट्री को दूसरे में किसी भी नोड के बाएं और दाएं सबट्री को कितनी भी बार स्वैप करके बदल सकते हैं। तो, यदि इनपुट इस तरह है तो आउटपुट True होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: que1 := root0 के साथ प्रारंभ एक कतार que2

  1. Python में एक ट्री दूसरे का सबट्री है या नहीं, इसकी जांच करने का प्रोग्राम Python में एक ट्री दूसरे का सबट्री है या नहीं, इसकी जांच करने का प्रोग्राम

    मान लीजिए हमारे पास दो बाइनरी ट्री हैं। हमें यह जांचना है कि दूसरा ट्री पहले का सबट्री है या नहीं। तो, यदि इनपुट इस तरह है तो आउटपुट True होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: solve() फ़ंक्शन परिभाषित करें। यह root, target लेगा यदि root null है और target भी null है, तो True लौटा

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

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