Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình tìm tích lớn nhất của ba phần tử duy nhất trong Python


Giả sử chúng ta có một danh sách các số gọi là nums, chúng ta phải tìm tích lớn nhất của ba phần tử duy nhất.

Vì vậy, nếu đầu vào là nums = [6, 1, 2, 4, -3, -4], thì đầu ra sẽ là 72, vì ta có thể nhân (-3) * (-4) * 6 = 72.

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

  • sắp xếp danh sách nums

  • n := kích thước nums

  • maxScore := -inf

  • maxScore := max(maxScore, nums[0] * nums[1] * nums[n - 1])

  • maxScore := max(maxScore, nums[n - 3] * nums[n - 2] * nums[n - 1])

  • trả về maxScore

Ví dụ

Hãy xem triển khai sau để hiểu rõ hơn:

def solve(nums):
    nums.sort()
    n = len(nums)
    maxScore = -10000
    maxScore = max(maxScore, nums[0] * nums[1] * nums[n - 1])
    maxScore = max(maxScore, nums[n - 3] * nums[n - 2] * nums[n - 1])
    return maxScore

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

Đầu vào

[6, 1, 2, 4, -3, -4]

Đầu ra

72