1014. 最佳观光组合
// class Solution {
// public:
// int maxScoreSightseeingPair(vector<int>& values) {
// int maxval=0;
// for(int i = 0;i<values.size();i++){
// for(int j = i+1;j<values.size();j++){
// maxval = max(maxval,values[i]+values[j]+i-j);
// }
// }
// return maxval;
// }
// };
class Solution {
public:
int maxScoreSightseeingPair(vector<int>& values) {
int maxval=0;
int leftMax = values[0];
int left=0;
for(int i = 1;i<values.size();i++){
maxval = max(maxval,leftMax+values[i]-i);
leftMax = max(leftMax,values[i]+i);
}
return maxval;
}
//降低复杂度 维护valuei+i和valeusj-j
//在移动时维护另一个
};