สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องหาผลคูณที่ใหญ่ที่สุดของสององค์ประกอบที่ไม่ซ้ำกัน
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[8, -3, 1, -5] เอาต์พุตจะเป็น 15, (-3)*(-5) =15 ซึ่งสูงสุดที่นี่
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
n :=ขนาดของ nums
-
nums_sort :=เรียงลำดับรายการ nums
-
max_left :=nums_sort[0] * nums_sort[1]
-
max_right :=nums_sort[n-1] * nums_sort[n-2]
-
ans :=สูงสุดของ max_left และ max_right
-
กลับมาอีกครั้ง
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
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))
อินพุต
[8, -3, 1, -5]
ผลลัพธ์
15