2008.出租车的最大盈利

​​题目来源:

        leetcode题目,网址:2008. 出租车的最大盈利 - 力扣(LeetCode)

解题思路:

       哈希表+动态规划。根据终点区分不同的路线,然后进行动态规划。dp[i] 表示以当前节点为终点时的最大盈利。若 i 为 0,dp[0]=0;否则遍历所有以当前节点为终点的路线,假设其分别为(start1,end,tips1),(start2,end,tips2)......(startn,end,tipsn),则 dp[i] =max(dp[i-1],dp[start1]+end-start1+tips1,dp[start2]+end-start2+tips2,......,dp[startsn]+end-startn+tipsn).

解题代码:

class Solution {
public:long long maxTaxiEarnings(int n, vector<vector<int>>& rides) {vector<vector<vector<int>>> ends=endDivision(n,rides);vector<long long> dp(n+1,0);dp[0]=0;for(int i=1;i<dp.size();i++){long long maxEarings=dp[i-1];vector<vector<int>> routes=ends[i];for(vector<int> route:routes){long long thisEarn=dp[route[0]]+route[1]-route[0]+route[2];maxEarings=max(maxEarings,thisEarn);}dp[i]=maxEarings;}return dp[n];}vector<vector<vector<int>>> endDivision(int n,vector<vector<int>>& rides){vector<vector<int>> temp;vector<vector<vector<int>>> res(n+1,temp);for(int i=0;i<rides.size();i++){res[rides[i][1]].push_back(rides[i]);}return res;}};
 

总结:

        官方题解给出了两种解法。第一种是动态规划+二分查找,不是很理解。第二种是动态规划+哈希表。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/206266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​LeetCode解法汇总1466. 重新规划路线

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; n 座城市&…

在王者荣耀中脸探草丛的正确姿势是什么?

引言 Cocos中躲草丛效果的实现原理。 在游戏开发中&#xff0c;我们经常用透视或者半透明效果去表现模型被遮挡的效果。 本文将介绍一下如何在Cocos中实现王者荣耀中的躲草丛效果。 本文源工程在文末获取&#xff0c;小伙伴们自行前往。 躲草丛效果的实现原理 要在Cocos中…

Android Studio的笔记--String和byte[]

String和byte[]的相互转换&#xff0c;字节数组转换 String转换byte[]文本16进制字节数组 byte[]转换String文本16进制 其它 String转换byte[] 文本 将字符串&#xff08;String&#xff09;转换为字节&#xff08;byte&#xff09;的方法。默认使用的是UTF-8编码 StandardCh…

Qt设置应用程序字体

目的 由于微软雅黑字体具有版权效应&#xff0c; 导致实际项目中需要load其他字体&#xff0c; 比如说应用程序默认字体为思源黑体-Mdeium黑度。 通用做法在qrc中添加字体资源&#xff0c;SourceHanSansCN-Medium.ttf&#xff0c; 然后在main函数中动态加载字体文件。 如果后…

Linux本地部署1Panel服务器运维管理面板并实现公网访问

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、…

剑指 Offer(第2版)面试题 20:表示数值的字符串

剑指 Offer&#xff08;第2版&#xff09;面试题 20&#xff1a;表示数值的字符串 剑指 Offer&#xff08;第2版&#xff09;面试题 20&#xff1a;表示数值的字符串解法1&#xff1a;模拟解法2&#xff1a;分段匹配解法 3&#xff1a;DFA 剑指 Offer&#xff08;第2版&#xf…

linux进程通信

匿名管道 struct_file的两套资源 管道只能单向通信 特征 1.如果管道没有数据 读端在读 默认会直接阻塞正在读取的进程 2.写端写满 在写会阻塞 等待对方读取 管道设计 命名管道 实现管道通信 #pragma once #include<iostream> #include<string> #include<sys/…

windows MYSQL解决中文乱码问题

1.首先确保你已经把mysql配置了环境变量 2.打开window终端 3.输入mysql -u root -p 4.输入密码&#xff0c;就是安装的时候设置的root超级管理员权限密码 5.输入&#xff1a; SHOW VARIABLES LIKE ‘character%’; 出现上图&#xff0c;说明就会出现中文乱码问题。 6.该怎么办…

前端中的响应式布局与各个端适配

什么是响应式布局&#xff1f; 响应式布局指的是同一页面在不同屏幕尺寸下有不同的布局。在移动互联网高度发达的今天&#xff0c;我们在桌面浏览器上开发的网页已经无法满足在移动设备上查看的需求。传统的开发方式是PC端开发一套页面&#xff0c;手机端再开发一套页面。但是…

使用python脚本一个简单的搭建ansible集群

1.环境说明&#xff1a; 角色主机名ip地址控制主机server192.168.174.150受控主机/被管节点client1192.168.174.151受控主机/被管节点client2192.168.174.152 2.安装python和pip包 yum install -y epel-release yum install -y python python-pip 3.pip安装依赖库 pip in…

redis-学习笔记(hash)

Redis 自身已经是 键值对 结构了 Redis 自身的键值对就是通过 哈希 的方式来组织的 把 key 这一层组织完成后, 到了 value 这一层, 还可以用 哈希类型 来组织 (简单的说就是哈希里面套哈希 [数组里面套数组 -> 二维数组] ) [ field value ] hset key field value [ field va…

【Spring】Spring 微服务中的数据分区和分片

文章目录 前言数据分区简介分区的本质分区类型为什么分区很重要&#xff1f;分片简介了解分片分片的机制为什么选择分片&#xff1f;在 Spring 微服务中实现分区和分片用于分区的 Spring Data JPA挑战与最佳实践分区和分片时的注意事项选择正确的键重新分片和重新分区基础设施和…

【Java 基础】23 国际化

文章目录 1.概念2.原理1&#xff09;Locale2&#xff09;ResourceBundle3&#xff09;MessageFormat 3.例子1&#xff09;准备资源文件2&#xff09;加载资源文件3&#xff09;格式化消息&#xff08;非必须&#xff09; 总结 在全球化的今天&#xff0c;开发支持多语言的应用变…

STM32F1的TIM输出比较(PWM)

目录 1. OC&#xff08;Output Compare&#xff09;输出比较 2. PWM简介 3. 输出比较通道(高级) 4. 输出比较通道(通用) 5. PWM基本结构 6. 配置介绍 6.1 输出比较模块配置 6.2 给输出比较结构体赋一个默认值 6.3 配置强制输出模式 6.4 配置CRR寄存器的预装…

【文件上传系列】No.1 大文件分片、进度图展示(原生前端 + Node 后端 Koa)

分片&#xff08;500MB&#xff09;进度效果展示 效果展示&#xff0c;一个分片是 500MB 的 分片&#xff08;10MB&#xff09;进度效果展示 大文件分片上传效果展示 前端 思路 前端的思路&#xff1a;将大文件切分成多个小文件&#xff0c;然后并发给后端。 页面构建 先在页…

低代码与MES:智能制造的新篇章

一、引言 随着工业4.0和智能制造的兴起&#xff0c;企业对于生产过程的数字化、智能化需求日益迫切。制造执行系统&#xff08;MES&#xff09;作为连接计划层与控制层的关键信息系统&#xff0c;在提升生产效率、优化资源配置、保障产品质量等方面发挥着重要作用。然而&#…

AIGC实战——WGAN(Wasserstein GAN)

AIGC实战——WGAN 0. 前言1. WGAN-GP1.1 Wasserstein 损失1.2 Lipschitz 约束1.3 强制 Lipschitz 约束1.4 梯度惩罚损失1.5 训练 WGAN-GP 2. GAN 与 WGAN-GP 的关键区别3. WGAN-GP 模型分析小结系列链接 0. 前言 原始的生成对抗网络 (Generative Adversarial Network, GAN) 在…

深入探索C语言中的二叉树:数据结构之旅

引言 在计算机科学领域&#xff0c;数据结构是基础中的基础。在众多数据结构中&#xff0c;二叉树因其在各种操作中的高效性而脱颖而出。二叉树是一种特殊的树形结构&#xff0c;每个节点最多有两个子节点&#xff1a;左子节点和右子节点。这种结构使得搜索、插入、删除等操作…

【React Hooks】useReducer()

useReducer 的三个参数是可选的&#xff0c;默认就是initialState&#xff0c;如果在调用的时候传递第三个参数那么他就会改变为你传递的参数&#xff0c;实际开发不建议这样写。会增加代码的不可读性。 使用方法&#xff1a; 必须将 useReducer 的第一个参数&#xff08;函数…

MySQL - 并发控制与事务的隔离级别

目录 第1关&#xff1a;并发控制与事务的隔离级别 第2关&#xff1a;读脏 第3关&#xff1a;不可重复读 第4关&#xff1a;幻读 第5关&#xff1a;主动加锁保证可重复读 第6关&#xff1a;可串行化 第1关&#xff1a;并发控制与事务的隔离级别 任务描述 本关任务&#…