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

Chương trình tìm tổng của mảng con tăng dần tối đa bằng Python

Giả sử chúng ta có một mảng các giá trị dương được gọi là num, chúng ta phải tìm tổng lớn nhất có thể có của một mảng con tăng dần trong nums. Chúng ta có thể nói một mảng con [nums_l, nums_l + 1, ..., nums_r-1, nums_r] tăng dần khi đối với tất cả các i trong đó l <=i

Vì vậy, nếu đầu vào là nums =[15,25,35,5,15,55], thì đầu ra sẽ là 75 vì [5,15,55] đang tăng mảng con với tổng tối đa.

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

  • tổng:=nums [0]

  • max_total:=nums [0]

  • đối với tôi trong phạm vi từ 1 đến kích thước của nums, hãy thực hiện

    • nếu nums [i]> nums [i-1], thì

      • tổng:=total + nums [i]

    • nếu không,

      • tổng:=nums [i]

    • nếu tổng số> max_total thì

      • max_total:=tổng số

  • trả về max_total

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

Ví dụ

def solve(nums):
   total=nums[0]
   max_total=nums[0]
   for i in range(1,len(nums)):
      if nums[i] > nums[i-1]:
         total+=nums[i]
      else:
         total=nums[i]
      if total > max_total:
         max_total=total
   return max_total
nums = [15,25,35,5,15,55]
print(solve(nums))

Đầu vào

[15,25,35,5,15,55]

Đầu ra

75