Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาผลิตภัณฑ์สูงสุดของสององค์ประกอบที่แตกต่างกันจากอาร์เรย์ใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า 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