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

व्यक्ति 1 की जाँच करने का कार्यक्रम पायथन में अधिकतम अंक लेकर कैंडी गेम जीत सकता है या नहीं


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

इसलिए, यदि इनपुट संख्या =[1, 1, 2, 3, 50] की तरह है, तो आउटपुट ट्रू होगा, क्योंकि व्यक्ति 1 1 कैंडी ले सकता है, तो दूसरे खिलाड़ी को 1, 2 या 3 कैंडी लेनी होगी। किसी भी स्थिति में, व्यक्ति 1 50 के मान के साथ कैंडी ले सकता है।

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

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

  • तालिका :=तीन 0 के साथ एक सरणी।

  • n - 1 से 0 की श्रेणी में i के लिए, 1 से घटाएं, करें

    • लाभ :=−inf

    • sum_val :=0

    • j के लिए i से लेकर न्यूनतम i + 3 और n तक, करें

      • sum_val :=sum_val + nums[j]

      • लाभ :=अधिकतम लाभ और (sum_val - तालिका[j - i])

    • तालिका सेट करें:=तीन मानों वाली एक सूची [लाभ, तालिका[0], तालिका[1]]

  • तालिका [0]> 0 होने पर सही लौटें, अन्यथा गलत

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

उदाहरण

import math
class Solution:
   def solve(self, nums):
      n = len(nums)
      table = [0, 0, 0]
      for i in range(n − 1, −1, −1):
         profit = −math.inf
         sum_val = 0
         for j in range(i, min(i + 3, n)):
            sum_val += nums[j]
            profit = max(profit, sum_val − table[j − i])
         table[:] = [profit, table[0], table[1]]
      return table[0] > 0
ob = Solution()
nums = [1, 1, 2, 3, 50]
print(ob.solve(nums))

इनपुट

[1, 1, 2, 3, 50]

आउटपुट

True

  1. पायथन में क्षमता के भीतर विभिन्न वस्तुओं को लेकर हम अधिकतम राशि प्राप्त करने का कार्यक्रम प्राप्त कर सकते हैं

    मान लीजिए कि हमारे पास दो सूचियाँ हैं जिन्हें वज़न और मान कहा जाता है जो समान लंबाई की हैं और एक अन्य संख्या जिसे क्षमता k कहा जाता है। यहाँ वज़न [i] और मान [i] ith आइटम का वज़न और मान दिखाता है। अब, हम अधिक से अधिक k क्षमता भार ले सकते हैं, और यह कि हम प्रत्येक आइटम की अधिकतम एक प्रति ही ले सकते है

  1. जाँच करने के लिए कार्यक्रम हम शब्दों की एक सूची द्वारा लक्ष्य की वर्तनी कर सकते हैं या नहीं पायथन में

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

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

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक स्ट्रिंग इनपुट को देखते हुए, हमें यह जांचना होगा कि स्ट्रिंग खाली है या नहीं। पायथन स्ट्रिंग्स प्रकृति में अपरिवर्तनीय हैं इसलिए किसी भी ऑपरेशन को करते समय स्ट्रिंग्स को संभालते समय सावधानी बर