C++ 中最佳觀光對
假設我們有一個正整數陣列 A,其中 A[i] 表示第 i 個觀光點的價值,並且兩個觀光點 i 和 j 的距離為 j - i。現在,觀光景點對 (i 為了解決這個問題,我們將遵循以下步驟 − 設定 ret := 0,maxVal := 0,將 n 設定為 A 的大小 對於 0 到 n – 1 範圍內的 i ret := ret 和 (maxVal + A[i] - i) 中的最大值 maxVal := (A[i] + i) 和 maxVal 中的最大值 返回 ret 讓我們看看以下實現以獲得更好的理解 −示例
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
int maxScoreSightseeingPair(vector<int>& A) {
int ret = 0;
int maxVal = 0;
int n = A.size();
for(int i = 0; i < n; i++){
ret = max(ret, maxVal + A[i] - i);
maxVal = max(A[i] + i, maxVal);
}
return ret;
}
};
main(){
vector<int> v1 = {8, 1, 5, 2, 6};
Solution ob;
cout << (ob.maxScoreSightseeingPair(v1));
}輸入
[8,1,5,2,6]
輸出
11
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP