สมมติว่าเรามีรายการตัวเลข เราต้องหาผลคูณที่ใหญ่ที่สุดของสององค์ประกอบ
ดังนั้นหากอินพุตเป็น [5, 3, 7, 4] เอาต์พุตจะเป็น 35
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- curr_max :=-inf
- สำหรับฉันในช่วง 0 ถึงขนาดของ nums - 1 ทำ
- สำหรับ j ในช่วง i+1 ถึงขนาดของ nums - 1 ทำ
- ถ้า nums[i] * nums[j]> curr_max แล้ว
- curr_max :=nums[i] * nums[j]
- ถ้า nums[i] * nums[j]> curr_max แล้ว
- สำหรับ j ในช่วง i+1 ถึงขนาดของ nums - 1 ทำ
- คืนcurr_max
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, nums): curr_max = float('-inf') for i in range(len(nums)): for j in range(i+1, len(nums)): if nums[i] * nums[j] > curr_max: curr_max = nums[i] * nums[j] return curr_max ob = Solution() print(ob.solve([5, 3, 7, 4]))
อินพุต
[5, 3, 7, 4]
ผลลัพธ์
35