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

厦门建网站费用一览表浙江网络公司排名

厦门建网站费用一览表,浙江网络公司排名,网站themes目录,微信微网站统计2140. 解决智力问题 - 力扣(LeetCode) 这道题是一个典型的 动态规划(Dynamic Programming, DP) 问题,可以使用 自底向上 的方式解决。 思路 定义状态: 设 dp[i] 表示从第 i 题开始,能获得的最高…

2140. 解决智力问题 - 力扣(LeetCode)

这道题是一个典型的 动态规划(Dynamic Programming, DP) 问题,可以使用 自底向上 的方式解决。

思路

  1. 定义状态
    dp[i] 表示从第 i 题开始,能获得的最高分数。

  2. 状态转移方程

    • 选择解决第 i
      • 这样可以获得 questions[i][0] 分,并且需要跳过 questions[i][1] 题。
      • 下一次可以从 i + questions[i][1] + 1 题开始,即 dp[i] = questions[i][0] + dp[i + questions[i][1] + 1]
    • 选择跳过第 i
      • 这样可以从 i+1 题开始,即 dp[i] = dp[i+1]
    • 取两者的最大值: dp[i]=max⁡(questions[i][0]+dp[i+questions[i][1]+1],dp[i+1])
  3. 边界条件

    • dp[n] = 0 (当超过最后一题时,得分为 0)。
  4. 计算顺序

    • 我们需要从 后往前 计算 dp[i],因为 dp[i] 依赖于 dp[i+1]dp[i + questions[i][1] + 1]

代码实现

from typing import Listdef mostPoints(questions: List[List[int]]) -> int:n = len(questions)dp = [0] * (n + 1)  # dp[i] 表示从第 i 题开始能获得的最高分for i in range(n - 1, -1, -1):  # 逆序遍历points, brainpower = questions[i]next_index = i + brainpower + 1  # 下一道可以解的题目dp[i] = max(points + (dp[next_index] if next_index < n else 0), dp[i + 1])return dp[0]

复杂度分析

  • 时间复杂度:O(n),我们只需遍历 questions 一次,每次 O(1) 计算 dp[i]
  • 空间复杂度:O(n),用于存储 dp 数组。

示例

输入
questions = [[3, 2], [4, 3], [4, 4], [2, 5]]
print(mostPoints(questions))
输出
5

优化(O(1) 空间)

我们可以只用一个变量来存储 dp[i+1],这样 dp 数组就不需要额外存储所有状态:

def mostPoints(questions: List[List[int]]) -> int:n = len(questions)next_max = 0  # 相当于 dp[i+1]for i in range(n - 1, -1, -1):points, brainpower = questions[i]next_index = i + brainpower + 1current = max(points + (dp[next_index] if next_index < n else 0), next_max)next_max = current  # 更新 dp[i]return next_max

这样,我们将 空间复杂度优化为 O(1)


文章转载自:

http://kb78f6eK.mxrbm.cn
http://fnuA0GkG.mxrbm.cn
http://P5hRYBkl.mxrbm.cn
http://CHQYNiUd.mxrbm.cn
http://WS21L7De.mxrbm.cn
http://7OdeCHCq.mxrbm.cn
http://yjywg1aF.mxrbm.cn
http://zez2eEJO.mxrbm.cn
http://nkpwlOBG.mxrbm.cn
http://59rf6nOt.mxrbm.cn
http://QEbpLVzk.mxrbm.cn
http://ugNhyAT9.mxrbm.cn
http://z49rgvij.mxrbm.cn
http://GMkDEBsQ.mxrbm.cn
http://NiRt3ux8.mxrbm.cn
http://yz5fHcax.mxrbm.cn
http://ORAA0XnV.mxrbm.cn
http://AEbJ2Wnv.mxrbm.cn
http://CCdpGZYb.mxrbm.cn
http://aTEY0bd2.mxrbm.cn
http://FYZlgnhk.mxrbm.cn
http://TVseoH0k.mxrbm.cn
http://AZZ8jipx.mxrbm.cn
http://1vDfvEC8.mxrbm.cn
http://YRRzsYiu.mxrbm.cn
http://9fAv8F46.mxrbm.cn
http://ZEbM2wxc.mxrbm.cn
http://sp5GpSpT.mxrbm.cn
http://umvUi4fM.mxrbm.cn
http://13B0zEaG.mxrbm.cn
http://www.dtcms.com/wzjs/651570.html

相关文章:

  • 孝感网站开发选优搏wordpress更改登录
  • 装修公司网站建设的意义公共体育课程网站建设
  • 天水市住房和城乡建设局网站礼品做便宜的网站
  • 网站开发报价合同株洲静默三天
  • 胶州做网站京东商城网站的搜索引擎营销做的案例分析
  • 百度网站前三名权重一般在多少晋城网站制作公司怎么选
  • 北京建设部官方网站证书查询三亚发布最新消息
  • 做python一个网站苏州网站建设企业网站制作
  • php网站建设基本流程廊坊百度seo公司
  • 大方泳嘉网站建设怎么在网上找做网站的客户
  • 做烘培网站烟台做网站的价格
  • 深圳福田最大网站公司wex5可以做网站吗
  • 成品网站建设哪家好品牌网图片新闻2003年下一条文章
  • 专门做图片的网站建一个公司网站要多少钱
  • 新余做网站公司asp企业网站设计
  • 重庆网站建设入门培训野望王绩翻译
  • 网站建筑设计网站页面建设需要ps吗
  • 唐山网站建设托管林芝企业网站建设公司
  • 南京市城市建设档案馆网站wordpress 编辑器 代码高亮
  • 深圳企业营销型网站建设上海市住房和城乡建设部网站
  • 自己做的网站是怎么赚钱网址网页网站的区别??
  • 东莞企业营销型网站建设app首页设计效果图
  • 商城网站htmliis7 网站权限
  • 酒店门户网站建设背景广州网站制作方法
  • 玉溪市住房和建设局公布网站微网站做的比较好的
  • 湖州北京网站建设网站如何进行优化
  • 广告行业网站建设方案ae素材网
  • 邵东网站开发湖南营销型网站建设
  • 磁县网站制作公司常州网络公司中环互联网网站建设
  • 推荐中山精品网站建设网站建设与管理是学什么