মনে করুন nums নামে একটি সংখ্যার লিস্ট আছে। আমাদের ন্যূনতম পজিটিভ মান বের করতে হবে যা nums-এর শুরুর যোগ করলে ফলাফল লিস্টের সব পREFIX সম ০-র চেয়ে বড় হবে।
ইনপুট nums = [3, -6, 4, 3] হলে আউটপুট হবে ৪, কারণ ৪ যোগ করলে লিস্ট হবে [4, 3, -6, 4, 3]। পREFIX সম হবে [4, 7, 1, 5, 8], সব ০-র চেয়ে বড়।
সমাধানের ধাপসমূহ:
- nums-এ পজিশন ০-এ ০ সন্নিবেশ করুন
- i = 1 থেকে len(nums) - 1 পর্যন্ত লুপ:
- nums[i] := nums[i] + nums[i - 1]
- 1 - min(nums) ফেরত দিন
উদাহরণ
বাস্তবায়ন:
def solve(nums):
nums.insert(0, 0)
for i in range(1, len(nums)):
nums[i] += nums[i - 1]
return 1 - min(nums)
nums = [3, -6, 4, 3]
print(solve(nums))
ইনপুট
[3, -6, 4, 3]
আউটপুট
4