当前位置: 首页 > news >正文

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]即可

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]);elsedp[i]=max(dp[i+1],(long long)questions[i][0]+dp[i+1+questions[i][1]]);}return dp[0];}
};

时间复杂度O(n)

空间复杂度O(n)

http://www.dtcms.com/a/257180.html

相关文章:

  • Spring JDBC 事务
  • python高校教务管理系统
  • 47.第二阶段x64游戏实战-封包-分析打怪call
  • python源码:执行pdf合并/分页/图片管理功能
  • 在高数中 导数 微分 不定积分 定积分 的意义以及联系
  • 单调栈原理与应用
  • Python 商务数据分析—— NumPy 学习笔记Ⅰ
  • Docker Desktop 4.42集成的MCP工具包
  • (C++)素数的判断(C++教学)(C语言)
  • SQL Server 基础语句3: 数据操作(插入、删除、更新表)与数据类型
  • 931、下降路径最小和
  • 大模型LoRA微调实践
  • 2025-06-22 思考-人的意识与不断走向死亡的过程
  • frp v0.62.1内网穿透搭建和使用
  • Kafka 源码剖析:消息存储与协议实现(二)
  • 【redis使用场景——缓存——双写一致性】
  • ICML 2025 | 时空数据(Spatial-Temporal)论文总结
  • React中的useEffect详解
  • Ollama按照与使用
  • Cursor快速上手+科学使用指南
  • 【webSocket】WebSocket全双工通信实战指南
  • 跨域视角下强化学习重塑大模型推理:GURU框架与多领域推理新突破
  • 《福格行为模型》
  • JMeter API 并发性能测试计划JMX文件解析
  • wx小程序登录设置角色
  • AI产品经理的定义边界与价值重构
  • 《单光子成像》第八章 预习2025.6.22
  • C++,Qt事件处理机制编程开发练习全解析,23000字解析!!
  • 【工具教程】PDF指定区域OCR识别重命名工具使用教程和注意事项
  • 【数据结构试题】