मान लीजिए कि हमारे पास एक सरणी संख्या है जो इसमें केवल 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