給定正整數陣列 a,a[i] 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的距離為 j - i。這道題目直接的做法是遍歷每一種組合,這裡採用一種比較巧妙的方式,將a[i] + a[j] + i - j 拆分成a[i] + i 和a[j] - j,對於每乙個 j,只要找到前面最大的乙個a[i] + i 就是當前位置最大的得分,因此時間複雜度降低為一次遍歷。一對景點(i < j)組成的觀光組合的得分為(a[i] + a[j] + i - j):景點的評分之和減去它們兩者之間的距離。
返回一對觀光景點能取得的最高分。
class
solution
return maxpair;
}}
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,...
leetcode 1014 最佳觀光組合
package com.example.lettcode.dailyexercises class scoresightseeingpair description 1014 最佳觀光組合 給定正整數陣列 a,a i 表示第 i 個觀光景點的評分,並且兩個景點 i 和 j 之間的距離為 j i。一對...