মান লক্ষ্য করুন আমাদের কাছে একটি সংখ্যার তালিকা nums আছে। আমাদের কাজ হল সবচেয়ে লম্বা সাবসিকোয়েন্সের দৈর্ঘ্য বের করা যেটি প্রতিটি المستمر সংখ্যায় সাইন (পজিটিভ/নেগেটিভ) ফ্লিপ করে।
উদাহরণস্বরূপ, যদি ইনপুট হয় nums = [1, 3, -6, 4, -3], তবে আউটপুট হবে 4, কারণ আমরা [1, -6, 4, -3] বেছে নিতে পারি।
pos := 0,neg := 0- প্রতিটি
nএর জন্যnums-এ:- যদি
n < 0হয়, তবেneg := pos + 1 - অন্যথায়,
pos := neg + 1
- যদি
max(pos, neg)রিটার্ন করুন।
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