LeetCode 1014 最佳觀光組合

2021-10-07 06:30:39 字數 764 閱讀 7222

第一種方法:

找到每個下標元素右邊第乙個更大的元素的下標,這一步利用棧來實現。

第二種方法,

import sys

class solution:

def maxscoresightseeingpair(self, a: list[int]) -> int:

dic1 = {}

stack =

for i, val in enumerate(a):

while stack and a[stack[-1]] < val:

j = stack.pop()

dic1[j] = i

for val in stack:

dic1[val] = -1

max_val = -sys.maxsize

for i in range(len(a) - 1):

j = i + 1

max_val = max(max_val, a[i] + a[j] - abs(i - j))

while dic1[j] != -1:

j = dic1[j]

max_val = max(max_val, a[i] + a[j] - abs(i - j))

return max_val

第二種方法:

把i和j分開考慮

class solution 

return ans;}}

leetcode 1014 最佳觀光組合

給定正整數陣列 a,a i 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的距離為 j i。一對景點 i j 組成的觀光組合的得分為 a i a j i j 景點的評分之和減去它們兩者之間的距離。返回一對觀光景點能取得的最高分。這道題目直接的做法是遍歷每一種組合,這裡採用一種比較巧妙的...

leetcode 1014 最佳觀光組合

給定正整數陣列 a,a i 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的距離為 j i。一對景點 i j 組成的觀光組合的得分為 a i a j i j 景點的評分之和減去它們兩者之間的距離。返回一對觀光景點能取得的最高分。示例 輸入 8,1,5,2,6 輸出 11 解釋 i 0,...

leetcode 1014 最佳觀光組合

package com.example.lettcode.dailyexercises class scoresightseeingpair description 1014 最佳觀光組合 給定正整數陣列 a,a i 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的距離為 j i。一對...