মান লক্ষ্য করুন আমাদের কাছে একটি সংখ্যার তালিকা nums এবং অন্য একটি মান k আছে। আমাদের কাজ হল এমনভাবে ঠিক kবার পপ (মুছে ফেলা) করে সর্বোচ্চ যোগফল বের করা যাতে প্রতিবার পপ বাম দিক থেকে হোক বা ডান দিক থেকে।
উদাহরণস্বরূপ, যদি ইনপুট হয় nums = [2, 4, 5, 3, 1] এবং k = 2, তবে আউটপুট হবে 6, কারণ আমরা ২ এবং ৪ কে মুছে ফেলতে পারি।
window := nums[0:k]-এর যোগফলans := windowiকে ১ থেকেkপর্যন্ত লুপ চালান:window := window - nums[k-i]window := window + nums[-i]ans := max(ans, window)
ansরিটার্ন করুন।
class Solution:
def solve(self, nums, k):
window = sum(nums[:k])
ans = window
for i in range(1, k + 1):
window -= nums[k - i]
window += nums[-i]
ans = max(ans, window)
return ans
ob = Solution()
nums = [2, 4, 5, 3, 1]
k = 2
print(ob.solve(nums, k))
[2, 4, 5, 3, 1], 2
6