检查子列表总和的程序严格大于给定列表Python的总和
假设我们有一个称为nums的数字列表,我们必须检查是否有一个子列表,使其总和严格大于列表的总和。
因此,如果输入类似于nums=[1,-2,3,4],则输出将为True,因为列表的总和为6,子列表[3,5]的总和为8,即严格更大。
为了解决这个问题,我们将遵循以下步骤-
总数:=元素总数
s:=0
对于每个以数字表示的i
返回True
s:=s+i
如果s<0,则
s:=0
i:=nums的大小-1
当我>-1时
返回True
s:=s+数字[i]
如果s<0,则
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