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

जांचें कि क्या 1s और 2s की एक सरणी को समान योग के साथ 2 भागों में पायथन में विभाजित किया जा सकता है

मान लीजिए कि हमारे पास एक सरणी संख्या है जो इसमें केवल 1 और 2 संग्रहीत करती है। हमें यह जांचना होगा कि क्या सरणी को दो अलग-अलग भागों में विभाजित किया जा सकता है जैसे कि प्रत्येक भाग में तत्वों का योग समान हो।

इसलिए, यदि इनपुट संख्या =[1, 1, 2, 2, 2] की तरह है, तो आउटपुट सही होगा क्योंकि हम इस सरणी को [1, 1, 2] और [2, 2] की तरह विभाजित कर सकते हैं। प्रत्येक भाग 4 है।

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

  • कुल :=0, one_count :=0
  • कुल :=अंकों के सभी तत्वों का योग
  • one_count :=1s की संख्या में गिनें
  • यदि योग सम है, तो
    • झूठी वापसी
  • यदि (कुल / 2) का पूर्णांक भाग सम है, तो
    • सही लौटें
  • अगर one_count> 0, तो
    • सही लौटें
  • अन्यथा,
    • झूठी वापसी

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

उदाहरण

def solve(nums):
   total = 0
   one_count = 0
   total = sum(nums)
   one_count = nums.count(1)
   if total % 2:
      return False
   if (total // 2) % 2 == 0:
      return True
   if one_count > 0:
      return True
   else:
      return False
nums = [1, 1, 2, 2, 2]
print(solve(nums))

इनपुट

[1, 1, 2, 2, 2]

आउटपुट

True

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

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

  1. उन योगों का पता लगाएं जिनके लिए एक सरणी को समान योग के उप-सरणी में पायथन में विभाजित किया जा सकता है

    मान लीजिए कि हमारे पास पूर्णांक ए की एक सरणी है; हमें योग के लिए सभी मानों को खोजना होगा ताकि एक मान के लिए योग [i] सरणी को योग योग [i] के उप-सरणी में विभाजित किया जा सके। यदि हम सरणी को समान योग के उप-सरणी में विभाजित नहीं कर सकते हैं तो -1 लौटाएं। इसलिए, यदि इनपुट ए =[2, 4, 2, 2, 2, 4, 2, 6] जैसा

  1. पायथन में समान योग के साथ तीन भागों में विभाजन सरणी

    मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी A है, तो हमारा आउटपुट सही होगा यदि और केवल तभी हम सरणी को तीन गैर-रिक्त भागों में विभाजित कर सकते हैं, जिनका योग बराबर है। औपचारिक रूप से, हम सरणी को विभाजित कर सकते हैं यदि हम इंडेक्स i+1