链接

1094. 拼车

题目

假设你是一位顺风车司机,车上最初有 capacity 个空座位可以用来载客。由于道路的限制,车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向,你可以将其想象为一个向量)。

这儿有一份乘客行程计划表 trips[][],其中 trips[i] = [num_passengers, start_location, end_location] 包含了第 i 组乘客的行程信息:

必须接送的乘客数量;
乘客的上车地点;
以及乘客的下车地点。
这些给出的地点位置是从你的 初始 出发位置向前行驶到这些地点所需的距离(它们一定在你的行驶方向上)。

请你根据给出的行程计划表和车子的座位数,来判断你的车是否可以顺利完成接送所有乘客的任务(当且仅当你可以在所有给定的行程中接送所有乘客时,返回 true,否则请返回 false)。

示例

示例 1:
输入:trips = [[2,1,5],[3,3,7]], capacity = 4
输出:false

示例 2:
输入:trips = [[2,1,5],[3,3,7]], capacity = 5
输出:true

示例 3:
输入:trips = [[2,1,5],[3,5,7]], capacity = 3
输出:true

示例 4:
输入:trips = [[3,2,7],[3,7,9],[8,3,9]], capacity = 11
输出:true

提示

  • 你可以假设乘客会自觉遵守 “先下后上” 的良好素质
  • trips.length <= 1000
  • trips[i].length == 3
  • 1 <= trips[i][0] <= 100
  • 0 <= trips[i][1] < trips[i][2] <= 1000
  • 1 <= capacity <= 100000

思路

参考力扣精选评论

由于map容器本身有序, 我们可以把上车地点和上车乘客人数,以及下车地点和下车人数都存放map中, 然后遍历整个map,对数据进行累加,变可得到实时乘客人数。

C++ Code

class Solution {
public:bool carPooling(vector<vector<int>>& trips, int capacity) {map<int, int> m;for(auto & t: trips){m[t[1]] += t[0];  // 上车m[t[2]] -= t[0];  // 下车}int passengers = 0;for(auto it: m){passengers += it.second;//实时计算当前人数if(passengers > capacity) return false;}return true;}
};

此外,由于本题题目已经说了trips.length <= 1000,因此,可以直接定义一个大小为1001的数组存放每个路段上下车的人数,思路和上述代码一致。

class Solution {
public:bool carPooling(vector<vector<int>>& trips, int capacity) {vector<int> road(1001, 0);for(int i=0;i<trips.size();i++){road[trips[i][1]]+=trips[i][0];road[trips[i][2]]-=trips[i][0];}int count=0;for(int i=0;i<road.size();i++){count+=road[i];if(count>capacity) return false;}return true;}
};

Leetcode-1094. 拼车相关推荐

  1. LeetCode 1094. 拼车

    文章目录 1. 题目 2. 解题 1. 题目 假设你是一位顺风车司机,车上最初有 capacity 个空座位可以用来载客.由于道路的限制,车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向,你可 ...

  2. Leetcode 1094.拼车 差分

    思路: 这道题有很多种解法,刚好最近在学差分,就用差分做吧.首先是初始没有乘客,差分diff数组各项为0,不用求差构造差分数组了.接着是每一次乘车方案,起点站需要加上乘客数,终点站需要减去乘客数.注意 ...

  3. 值得一刷系列,航班预订统计拼车

    前言 前几天,有一哥们发我一个LeetCode题目链接,紧跟着附上了自己的提交记录,一个2ms,另一个1451ms- 我一看,这题有点意思啊,不同的思路竟然时间差这么多.搞它. 题目描述 这里有n个航 ...

  4. Python | 一万多条拼车数据,看春运的迁徙图

    作者 | 白苏,医疗健康领域产品经理一枚,Python&R爱好者 来源 | InThirty 编辑 | Jane 今天是腊月二十八,你们都到家了吗?这篇文章,作者对北京.上海.广州.深圳.杭州 ...

  5. PonyAI的首份美国无人出租成绩单:总数1271趟,15%拼车

    2019-12-05 09:46:50 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 小马智行在加州尔湾(Irvine)提供的自动驾驶出行服务,如今正式交出答卷. 其向加州公共事业委员会 ...

  6. 私家车合乘系统 matlab,私家车贴上邻里合乘标志 武汉探路拼车合法化

    您现在的位置:首页>图片焦点图片焦点 私家车贴上"邻里合乘"标志 武汉探路拼车合法化 中广网北京11月21日消息 据中国之声<新闻纵横>7时45分报道,为缓解交通 ...

  7. 一个草根交通研究员的拼车产品分析

    PMCAFF(www.pmcaff.com):互联网产品社区,是百度,腾讯,阿里等产品经理的学习交流平台.定期出品深度产品观察,互联产品研究首选. 外包大师(www.waibaodashi.com): ...

  8. 私家车合乘系统 matlab,适用于预约拼车的合乘人员沟通方法及其系统的制作方法...

    适用于预约拼车的合乘人员沟通方法及其系统的制作方法 [技术领域] [0001]本发明涉及拼车技术领域,更具体地涉及一种适用于预约拼车的合乘人员沟通方法及其系统. [背景技术] [0002]随着车辆的急 ...

  9. mongodb添加多条数据_分析了一万多条拼车数据,看看北上广深的各位都回哪过年...

    快过年了,很多同学都踏上了返乡的路.现在交通这么发达,除了高铁飞机外,还可以搭顺风车回家.今天的这篇文章我们就来分析一下拼车数据,看看今年大家都回哪儿过年. 分析了一万多条拼车数据,看看北上广深的各位 ...

最新文章

  1. Jquery 添听checkbox 是否选中
  2. STL 源代码剖析 算法 stl_algo.h -- equal_range
  3. 深入理解FFM原理与实践
  4. 修身论文2000字_软考论文怎么写
  5. adb实时获取屏幕_实时数仓 | 你需要的是一款合适且强大的OLAP数据库(上)
  6. java并发编程实践(1)intro
  7. Deep Image Homography Estimation
  8. mac下ssh免密登陆远程服务器(linux)
  9. easy~算法刷题第三天
  10. 现代软件工程——第一周博客作业
  11. js校验明细列表字段是否存在相同值(js循环嵌套初始值问题)
  12. PC端输入法双拼皮肤分享
  13. 前端检查本机注册表文件,如果有打开程序,如果没有下载程序/注册表文件
  14. 技术决胜年----谈谈我2018年的新观念新思想
  15. python安装后不能画图_Python实现画图软件功能,windows的画图功能不能实现
  16. 单片机 c语言 可控硅,单片机控制可控硅.doc
  17. C语言程序设计ncre,NCRE二级C语言程序设计辅导
  18. 小红书笔记无法展示是什么原因?让我们来看看吧
  19. MySQL子查询(嵌套查询)
  20. 谷歌索引量查询,批量查询网站在谷歌RR权重值

热门文章

  1. 一份SEO优化操作方案具体讲解
  2. 阿里合伙人彭翼捷:每个阶段都给自己找一个目标!
  3. 父亲儿子女儿放取水果进程/线程间通信程序设计与实现
  4. 计算机网络如何促进幼儿教师专业发展,新学期计算机网络实训报告范文与新幼儿教师的述职报告合集.doc...
  5. dc元数据和html描述资源,在HTML中使用DC元数据
  6. MySQL Windows安装教程
  7. 韩钰带你一起走进电商世界之淘宝店铺设计尺寸规范
  8. 微软SurfacePro8评测
  9. LaTex “too many unprocessed floats” 解决
  10. xcode4版本在哪里下载