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