leetcode 1014 最佳觀光組合

2022-09-09 06:03:10 字數 851 閱讀 8381

給你乙個正整數陣列 values,其中 values[i] 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的 距離 為 j - i。

一對景點(i < j)組成的觀光組合的得分為 values[i] + values[j] + i - j ,也就是景點的評分之和 減去 它們兩者之間的距離。

返回一對觀光景點能取得的最高分。

示例 1:

輸入:values = [8,1,5,2,6]

輸出:11

解釋:i = 0, j = 2, values[i] + values[j] + i - j = 8 + 5 + 0 - 2 = 11

示例 2:

輸入:values = [1,2]

輸出:2

2 <= values.length <= 5 * 104

1 <= values[i] <= 1000

1:和買賣**一樣,採用動態規劃,遍歷陣列,每次都比較 當前遇到的最大值 max + 當前值 v 與最佳觀光組合值 item ,並取其中較大的值當作新的item。

並更新當前遇到的最大值max。

2:因為還涉及到距離,所以判斷最大值max的時候,需要加上他當前的座標,判斷最佳觀光組合的時候,響應的要減去當前的座標值。

leetcode 1014 最佳觀光組合

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

LeetCode 1014 最佳觀光組合

第一種方法 找到每個下標元素右邊第乙個更大的元素的下標,這一步利用棧來實現。第二種方法,import sys class solution def maxscoresightseeingpair self,a list int int dic1 stack for i,val in enumerat...

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,...