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

Chương trình tìm giá trị nhỏ nhất để chèn vào đầu cho tất cả các tổng tiền tố dương trong Python

Giả sử chúng ta có một danh sách các số được gọi là nums. Chúng ta phải tìm giá trị dương nhỏ nhất mà chúng ta có thể chèn vào đầu nums để tổng tiền tố của danh sách kết quả chứa các số đều lớn hơn 0.

Vì vậy, nếu đầu vào là nums =[3, -6, 4, 3], thì đầu ra sẽ là 4, bởi vì nếu chúng ta chèn 4 vào danh sách thì chúng ta có [4, 3, -6, 4, 3] . Bây giờ các tổng tiền tố sau đó là [4, 7, 1, 5, 8], tất cả đều lớn hơn 0.

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

  • chèn 0 vào nums ở vị trí 0

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

    • nums [i]:=nums [i] + nums [i - 1]

  • trả về 1 - tối thiểu là số

Ví dụ

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

def solve(nums):
   nums.insert(0, 0)
   for i in range(1, len(nums)):
      nums[i] += nums[i - 1]
   return 1 - min(nums)

nums = [3, -6, 4, 3]
print(solve(nums))

Đầu vào

[3, -6, 4, 3]

Đầu ra

4