मान लीजिए कि हमारा बॉब नाम का एक दोस्त है, और वह खुद के साथ एक गेम खेल रहा है। वह खुद को संख्याओं की एक सूची देता है जिसे अंक कहा जाता है। अब प्रत्येक मोड़ में, बॉब सूची के दो तत्वों का चयन करता है और उन्हें एक सकारात्मक पूर्णांक के साथ उसी राशि के साथ बदल देता है जो उसने चुनी है। बॉब जीत की घोषणा करता है जब सरणी में सभी संख्याएं सम होती हैं। हमें यह पता लगाना है कि बॉब को कम से कम कितने घुमावों की आवश्यकता है, ताकि वह जीत की घोषणा कर सके, अगर ऐसा कोई समाधान नहीं है, तो वापसी -1।
इसलिए, यदि इनपुट [2, 3, 4, 9, 7, 13] जैसा है, तो आउटपुट 2 होगा क्योंकि वह 3,9 ले सकता है और फिर 12 से बदल सकता है, फिर 7,13 ले सकता है और 20 से बदल सकता है।पी>
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
a:=अंकों से केवल विषम तत्वों को लेकर एक सूची
-
अगर a का आकार विषम है, तो
-
वापसी (एक का आकार)/2
-
-
अन्यथा वापसी -1
बेहतर समझ प्राप्त करने के लिए आइए निम्नलिखित कार्यान्वयन को देखें -
उदाहरण
class Solution: def solve(self, nums): a = [x for x in nums if x %2 == 1] if len(a) %2 == 0: return len(a)/2; return -1; ob = Solution() print(ob.solve([2, 3, 4, 9, 7, 13]))
इनपुट
[2, 3, 4, 9, 7, 13]
आउटपुट
2