检查子列表总和的程序严格大于给定列表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

    以上是 检查子列表总和的程序严格大于给定列表Python的总和 的全部内容, 来源链接: utcz.com/z/338330.html

    回到顶部