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

प्रोग्राम यह जांचने के लिए कि क्या हम पायथन में समान योग के साथ दो विभाजनों का समूह बना सकते हैं या नहीं?

मान लीजिए हमारे पास संख्याओं की एक सूची है जिसे अंक कहते हैं, हमें यह जांचना होगा कि क्या हम संख्याओं को दो समूहों में विभाजित कर सकते हैं जहां दोनों समूहों में तत्वों का योग समान है।

इसलिए, यदि इनपुट संख्या =[2, 3, 6, 5] की तरह है, तो आउटपुट ट्रू होगा, क्योंकि हम समूह बना सकते हैं:[2, 6] और [3, 5]।

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

  • कुल:=अंकों में सभी तत्वों का योग

  • अगर योग विषम है, तो

    • झूठी वापसी

  • आधा :=कुल का पूर्णांक भाग / 2

  • dp :=आकार आधा + 1 की सूची और असत्य से भरें

  • डीपी [0] :=सच

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

    • मैं के लिए आधा से 0 की सीमा में, 1 से घटाएं, करें

      • अगर मैं>=संख्या, तो

        • डीपी [i]:=डीपी [i] या डीपी [i - संख्या]

  • वापसी डीपी [आधा]


उदाहरण

class Solution:
   def solve(self, nums):

      total = sum(nums)

      if total & 1:
         return False

      half = total // 2

      dp = [True] + [False] * half
      for num in nums:
         for i in range(half, 0, -1):
            if i >= num:
               dp[i] |= dp[i - num]

      return dp[half]

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

इनपुट

[2, 3, 6, 5]

आउटपुट

True

  1. पायथन में नोड्स की अदला-बदली से दो पेड़ बन सकते हैं या नहीं, इसकी जाँच करने के लिए कार्यक्रम

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

  1. कार्यक्रम की जाँच करने के लिए हम तीन अद्वितीय तत्व पा सकते हैं जिसका योग k के समान है या पायथन नहीं है

    मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है और दूसरा मान k है, हमें यह जांचना होगा कि क्या हम सूची में तीन अद्वितीय तत्व ढूंढ सकते हैं जिनका योग k है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - सूची संख्या क्रमित करें l :=0, r :=अंकों का आकार - 1 जबकि l

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

    मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक और एक मान k कहा जाता है, हमें यह जांचना होगा कि सूची में चार अद्वितीय तत्व हैं जो k तक जोड़ते हैं। इसलिए, यदि इनपुट अंकों की तरह है =[11, 4, 6, 10, 5, 1] ​​k =25, तो आउटपुट सही होगा, क्योंकि हमारे पास [4, 6, 10, 5] है जिसका योग 25 है। इसे हल