Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra tổng danh sách con lớn hơn tổng của danh sách đã cho Python

Giả sử chúng ta có một danh sách các số được gọi là num, chúng ta phải kiểm tra xem có danh sách con nào sao cho tổng của nó lớn hơn tổng của danh sách hay không.

Vì vậy, nếu đầu vào giống như nums =[1, −2, 3, 4], thì đầu ra sẽ là True, vì tổng của danh sách là 6 và tổng của danh sách con [3, 5] là 8 là lớn hơn nghiêm ngặt.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • tổng:=tổng số phần tử

  • s:=0

  • đối với mỗi tôi trong nums, hãy thực hiện

    • s:=s + i

    • nếu s <0, thì

      • trả về True

  • s:=0

  • i:=size of nums - 1

  • while i> −1, do

    • s:=s + nums [i]

    • nếu s <0, thì

      • trả về True

    • i:=i - 1

  • trả về Sai

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

[2, −4, 3, 5]

Đầu ra

True