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