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

Leetcode 3282. Reach End of Array With Max Score

  • Leetcode 3282. Reach End of Array With Max Score
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3282. Reach End of Array With Max Score

1. 解题思路

这一题有一点脑筋急转弯的意思,核心就是想明白最优路径的构造方法。

显然,如果某一个点上的value比其后任意一个点都大,那么以这个点作为起点到终点所能获得的最大的score必然是从这个点直接跳到终点。

因此,我们将所有的点上的值从大到小进行排列,然后依次取出。

假设对于任意一个点 i i i,我们此时的目标位置为 j j j(初始 j j j即为 n − 1 n-1 n1),则有:

  1. 如果 i > = j i >= j i>=j,说明之前必然有一个更大的点在其左侧,因此我们只要先走到那个点上然后直接从那个点跳到其对应的目标点即可,其获得的score必然大于经过这个点的score。
  2. 如果 i < j i < j i<j,说明从 i i i j j j的这一段当中当前点必然是最大的点,因此我们只要先想办法走到当前点,然后直接跳到目标位置 j j j即可获得最大的score。此时,我们即刻更新新的目标位置为 i i i

由此反复迭代,我们即刻获得最优的路径。

2. 代码实现

给出python代码实现如下:

class Solution:def findMaximumScore(self, nums: List[int]) -> int:j = len(nums)-1nums = sorted([(x, i) for i, x in enumerate(nums)], key=lambda x: (-x[0], x[1]))score = 0for x, i in nums:if i >= j:continuescore += (j-i) * xj = iif j == 0:breakreturn score

提交代码评测得到:耗时2152ms,占用内存45.7MB。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JVM源码解析
  • 第一篇 第3章 不确定型分析 第4章 设备更新分析 第5章价值工程
  • 多个vue项目部署到nginx服务器
  • Java 21的Preferences API的笔记
  • java 长连接中的sse与websocket含义, 两者的区别
  • 【Java】解决项目启动时端口被占用
  • 相互作用先验下的 3D 分子生成扩散模型 - IPDiff 评测
  • 顶级AI框架用于构建聊天机器人
  • linux从0到1 基础完整知识
  • k8s环境搭建
  • Redis中String类型的基本命令
  • 工作分享,小红书企业內推码附送
  • 职业技能大赛背景下的移动互联网应用软件开发(Android)实训室建设方案
  • 由于安装nvm 引发的vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
  • 快说啊,说你养猫后也不开心
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • HTML-表单
  • JavaScript设计模式与开发实践系列之策略模式
  • JS变量作用域
  • leetcode46 Permutation 排列组合
  • Nacos系列:Nacos的Java SDK使用
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Service Worker
  • Spring-boot 启动时碰到的错误
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 每天一个设计模式之命令模式
  • 手机端车牌号码键盘的vue组件
  • 算法系列——算法入门之递归分而治之思想的实现
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #### golang中【堆】的使用及底层 ####
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (2)MFC+openGL单文档框架glFrame
  • (21)起落架/可伸缩相机支架
  • (三)mysql_MYSQL(三)
  • (转)memcache、redis缓存
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • ../depcomp: line 571: exec: g++: not found
  • .net FrameWork简介,数组,枚举
  • .Net 垃圾回收机制原理(二)
  • .NET 命令行参数包含应用程序路径吗?
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET连接数据库方式
  • .sh 的运行
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [bzoj1006]: [HNOI2008]神奇的国度(最大势算法)
  • [BZOJ1060][ZJOI2007]时态同步 树形dp
  • [C/C++]关于C++11中的std::move和std::forward
  • [C++基础]-初识模板
  • [CTSC2014]企鹅QQ
  • [ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总