मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें यह जांचना है कि क्या कोई सबलिस्ट है जैसे कि उसका योग सूची के कुल योग से सख्ती से अधिक है।
तो, यदि इनपुट nums = [1, -2, 3, 4] जैसा है, तो आउटपुट True होगा, क्योंकि सूची का योग 6 है और सबलिस्ट [3, 5] का योग 8 है जो सख्ती से बड़ा है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- total := nums के एलिमेंट का योग
- s := 0
- nums में प्रत्येक i के लिए, करें
- s := s + i
- यदि s < 0, तो True लौटाएं
- s := 0
- i := nums के आकार - 1
- जब i > -1, करें
- s := s + nums[i]
- यदि s < 0, तो True लौटाएं
- i := i - 1
- False लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class Solution:
def solve(self, nums):
total = sum(nums)
s = 0
for i in nums:
s += i
if s < 0:
return True
s = 0
i = len(nums) - 1
while i > -1:
s += nums[i]
if s < 0:
return True
i = i - 1
return False
ob1 = Solution()
nums = [2, -4, 3, 5]
print(ob1.solve(nums))
इनपुट
[2, -4, 3, 5]
आउटपुट
True