สมมติว่าเรามีรายการตัวเลข เราต้องหาผลคูณที่ใหญ่ที่สุดของสององค์ประกอบ
ดังนั้นหากอินพุตเป็น [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