สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องหาคู่ (i, j) โดยที่ i
ดังนั้น หากอินพุตเท่ากับ nums =[6, 6, 2, 2, 2, 8] ผลลัพธ์จะเป็น 11 ราวกับว่าเราเลือกสองตัว 6 แล้วคะแนนของมันคือ 6 + 6 + 0 - 1 =11
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้:
ใหญ่ :=nums[0]
แม็กซี่ :=0
สำหรับฉันในช่วง 1 ถึงขนาดของ nums ทำ
ใหญ่ :=ใหญ่ - 1
maxi :=สูงสุดของขนาดใหญ่ + nums[i] และ maxi
ใหญ่ :=สูงสุดของขนาดใหญ่และ nums[i]
คืนแม็กซี่
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
ตัวอย่าง
class Solution:
def solve(self, nums):
large = nums[0]
maxi = 0
for i in range(1, len(nums)):
large -= 1
maxi = max(large + nums[i], maxi)
large = max(large, nums[i])
return maxi
ob = Solution()
nums = [6, 6, 2, 2, 2, 8]
print(ob.solve(nums))
อินพุต
[6, 6, 2, 2, 2, 8]
ผลลัพธ์
11