2140、解决智力问题

题目

解答

正向不好做,反向遍历。

定义:dp[i] [i,n)的分数

初始化:dp[n]=0

递推:dp[i]=max(dp[i+1],questions[i][0]+dp[i+questions[i][1]+1]) 如果越界了,就截断到dp[n]

最后return dp[0]即可

cpp 复制代码
class Solution {
public:
    long long mostPoints(vector<vector<int>>& questions) {
        int n = questions.size();
        //定义dp[i]:[i,n)的分数
        //dp[i]=max(dp[i+1],questions[i][0]+dp[i+questions[i][1]+1])
        //如果i+questions[i][1]>=n 则dp[i]=max(dp[i+1],questions[i][0])
        vector<long long> dp(n+1);
        dp[n] = 0;
        for(int i=n-1;i>=0;i--){
            if(i+questions[i][1]>=n)
                dp[i]=max(dp[i+1],(long long)questions[i][0]);
            else
                dp[i]=max(dp[i+1],(long long)questions[i][0]+dp[i+1+questions[i][1]]);
        }
        return dp[0];
    }
};

时间复杂度O(n)

空间复杂度O(n)

相关推荐
东方佑26 分钟前
UniVoc:基于二维矩阵映射的多语言词汇表系统
人工智能·算法·矩阵
汤永红1 小时前
week1-[分支结构]中位数
c++·算法·信睡奥赛
啊阿狸不会拉杆1 小时前
《算法导论》第 24 章 - 单源最短路径
开发语言·数据结构·c++·算法·php
23遇见1 小时前
顺序表插入删除
数据结构
热爱生活的猴子1 小时前
算法148. 排序链表
数据结构·算法·链表
孤独得猿1 小时前
Redis类型之Hash
redis·算法·哈希算法
এ᭄画画的北北2 小时前
力扣-5.最长回文子串
算法·leetcode
浩浩测试一下2 小时前
02高级语言逻辑结构到汇编语言之逻辑结构转换 if (...) {...} else {...} 结构
汇编·数据结构·数据库·redis·安全·网络安全·缓存
点云侠2 小时前
【2025最新版】PCL点云处理算法汇总(C++长期更新版)
c++·算法·计算机视觉·3d·可视化
暮乘白帝过重山3 小时前
负载因子(Load Factor) :哈希表(Hash Table)中的一个关键性能指标
开发语言·数据结构·哈希算法·散列表·负载因子·暮乘白帝过重山