1094. 拼车

车辆接送乘客问题详解 — 车上容量检测算法

题目描述

假设你有一辆车,车上最初有 capacity 个空座位。车只能沿着一个方向行驶(即不能掉头或者改变方向)。现在给你若干个乘客行程 trips,其中 trips[i] = [numPassengers_i, from_i, to_i] 表示第 i 次行程有 numPassengers_i 位乘客,需要从公里数 from_i 上车,到公里数 to_i 下车。

所有位置是车从初始位置向东行驶的公里数。

请判断:是否可以按照所有给定的行程安排接送所有乘客,并且在任何时刻车内乘客数量都不会超过容量 capacity?如果可以,返回 true,否则返回 false


题目分析

这是一个车辆容量管理的经典问题。本质上是在一条直线上,给定多个区间和区间内的乘客数量,检测某时刻车内乘客数是否超过容量。

关键点

  • 车只能往一个方向走,因此乘客上下车的顺序是按照公里数递增的。
  • 乘客从某一公里数上车,到另一公里数下车。
  • 在行驶过程中,任意时刻车上乘客数不能超过 capacity

解题方法

1. 事件驱动思想(差分数组/扫描线)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值