Giả sử chúng ta có một danh sách các số được gọi là num, chúng ta phải tìm tích lớn nhất của hai phần tử duy nhất.
Vì vậy, nếu đầu vào là nums =[8, -3, 1, -5], thì đầu ra sẽ là 15, (-3) * (- 5) =15, ở đây là tối đa.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
n:=kích thước của nums
-
nums_sort:=sắp xếp các số trong danh sách
-
max_left:=nums_sort [0] * nums_sort [1]
-
max_right:=nums_sort [n-1] * nums_sort [n-2]
-
ans:=tối đa của max_left và max_right
-
trả lại ans
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn
def solve(nums): nums_sort = sorted(nums) max_left = nums_sort[0] * nums_sort[1] max_right = nums_sort[-1] * nums_sort[-2] ans = max(max_left, max_right) return ans nums = [8, -3, 1, -5] print(solve(nums))
Đầu vào
[8, -3, 1, -5]
Đầu ra
15