力扣--动态规划1014.最佳观光组合

思路分析:

  1. 初始化左侧景点的评分为第一个景点的评分,最终结果为0。
  2. 从第二个景点开始遍历数组。
  3. 对于每个景点,计算当前观光组合的得分,即当前景点的评分 + 左侧景点的评分 - 两者之间的距离。
  4. 更新最终结果为当前得分和之前结果的较大值。
  5. 更新左侧景点的评分为当前景点的评分 + 其在数组中的索引。
  6. 遍历完成后,最终结果即为最高的观光组合得分。
cpp 复制代码
class Solution {
public:
    int maxScoreSightseeingPair(vector<int>& values) {
        // 获取数组的长度
        int n = values.size();
        
        // 初始化左侧景点的评分为第一个景点的评分
        int left = values[0];
        
        // 初始化最终结果为0
        int res = 0;
        
        // 从第二个景点开始遍历
        for(int i = 1; i < n; i++) {
            // 计算当前观光组合的得分,即当前景点的评分 + 左侧景点的评分 - 两者之间的距离
            int currentScore = left + values[i] - i;
            
            // 更新最终结果为当前得分和之前结果的较大值
            res = max(res, currentScore);
            
            // 更新左侧景点的评分为当前景点的评分 + 其在数组中的索引
            left = max(left, values[i] + i);
        }
        
        // 返回最终结果
        return res;
    }
};
相关推荐
田梓燊5 分钟前
算法题学习题单
学习·算法
Sunsets_Red10 分钟前
乘法逆元的 exgcd 求法
c++·学习·数学·算法·c#·密码学·信息学竞赛
季明洵12 分钟前
预处理详解(上)
linux·c语言·数据结构·预定义
阿Y加油吧13 分钟前
力扣打卡——接雨水、无重复字符的最长子串
算法·leetcode·职场和发展
米啦啦.14 分钟前
函数模板,namespace名字空间,动态内存管理,C++11新特性,
c++·动态内存管理·函数模板·c++新特性·名字空间
不只会拍照的程序猿16 分钟前
《嵌入式AI筑基笔记03:Python流程控制,从C的严谨到Python的简洁》
c语言·开发语言·笔记·python
茉莉玫瑰花茶27 分钟前
CMake 工程指南 - 工程场景(5)
开发语言·c++·cmake
handler0131 分钟前
算法:字符串哈希
c语言·数据结构·c++·笔记·算法·哈希算法·散列表
琪蘤35 分钟前
点胶换阀高度标定计算说明
算法