मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, हमें सबसे लंबे अनुक्रम की लंबाई का पता लगाना होगा जो प्रत्येक क्रमागत संख्या पर चिह्न को फ़्लिप करता है।
इसलिए, यदि इनपुट nums =[1, 3, -6, 4, -3] जैसा है, तो आउटपुट 4 होगा, जैसा कि हम [1, -6, 4, -3] चुन सकते हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- स्थिति:=0, नकारात्मक:=0
- अंकों में प्रत्येक n के लिए, करें
- अगर n <0, तो
- नकारात्मक:=स्थिति + 1
- अन्यथा,
- स्थिति:=नकारात्मक + 1
- अगर n <0, तो
- अधिकतम स्थिति और नकारात्मक लौटाएं
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, nums): pos = neg = 0 for n in nums: if n < 0: neg = pos + 1 else: pos = neg + 1 return max(pos, neg) ob = Solution() nums = [1, 3, -6, 4, -3] print(ob.solve(nums))
इनपुट
[1, 3, -6, 4, -3]
आउटपुट
4