मान लीजिए हमारे पास nums नामक संख्याओं की सूची है। हमें वह न्यूनतम पॉजिटिव मान ढूंढना है जिसे हम nums की शुरुआत में डाल सकते हैं ताकि परिणामी सूची के प्रीफिक्स सम में सभी संख्याएं 0 से बड़ी हों।
तो, यदि इनपुट nums = [3, -6, 4, 3] है, तो आउटपुट 4 होगा, क्योंकि यदि हम 4 को सूची में डालते हैं तो हमारे पास [4, 3, -6, 4, 3] होगा। अब प्रीफिक्स सम हैं [4, 7, 1, 5, 8], सभी 0 से बड़े हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
nums में स्थिति 0 पर 0 डालें
i के लिए 1 से nums के आकार - 1 तक की रेंज में, करें
nums[i] := nums[i] + nums[i - 1]
1 - 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