[leetcode 差分数组] 拼车 M

简介: [leetcode 差分数组] 拼车 M

车上最初有 capacity 个空座位。车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向)

给定整数 capacity 和一个数组 trips , trip[i] = [numPassengersi, fromi, toi] 表示第 i 次旅行有 numPassengersi 乘客,接他们和放他们的位置分别是 fromi 和 toi 。这些位置是从汽车的初始位置向东的公里数。

当且仅当你可以在所有给定的行程中接送所有乘客时,返回 true,否则请返回 false。

示例 1:

输入:trips = [[2,1,5],[3,3,7]], capacity = 4

输出:false

示例 2:

输入:trips = [[2,1,5],[3,3,7]], capacity = 5

输出:true

提示:

1 <= trips.length <= 1000

trips[i].length == 3

1 <= numPassengersi <= 100

0 <= fromi < toi <= 1000

1 <= capacity <= 105

来源:力扣(LeetCode)

链接:https://leetcode.cn/problems/car-pooling

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

CSJerry_差分数组_前缀和_go

  • 思路
计算路程中每一段的人数
再计算前缀和
var (
    people = 0
    from = 1
    to = 2
    maxLength = 1001
)
func carPooling(trips [][]int, capacity int) bool {
// 建立差分数组
    diff := []int{}
    for i := 0; i < maxLength; i++ {
        diff = append(diff, 0)
    }
    for _, trip := range trips {
        diff[trip[from]] += trip[people]
        diff[trip[to]] -= trip[people]
    }
    // 计算前缀和
    var preSum int = 0
    for i := 0; i < maxLength; i++ {
        preSum += diff[i]
        if preSum > capacity {
            return false
        }
    }
    return true
}

:::

相关文章
|
1天前
|
C++ Python
二刷力扣--数组
二刷力扣--数组
|
3天前
【LeetCode刷题】前缀和解决问题:742.寻找数组的中心下标、238.除自身以外数组的乘积
【LeetCode刷题】前缀和解决问题:742.寻找数组的中心下标、238.除自身以外数组的乘积
|
3天前
【LeetCode刷题】二分查找:寻找旋转排序数组中的最小值、点名
【LeetCode刷题】二分查找:寻找旋转排序数组中的最小值、点名
|
3天前
|
索引
【LeetCode刷题】二分查找:山脉数组的峰顶索引、寻找峰值
【LeetCode刷题】二分查找:山脉数组的峰顶索引、寻找峰值
|
3天前
|
算法
【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素
【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素
|
3天前
|
算法
【经典LeetCode算法题目专栏分类】【第6期】二分查找系列:x的平方根、有效完全平方数、搜索二位矩阵、寻找旋转排序数组最小值
【经典LeetCode算法题目专栏分类】【第6期】二分查找系列:x的平方根、有效完全平方数、搜索二位矩阵、寻找旋转排序数组最小值
|
6天前
|
存储 算法 数据可视化
深入解读力扣154题:寻找旋转排序数组中的最小值 II(多种方法及详细ASCII图解)
深入解读力扣154题:寻找旋转排序数组中的最小值 II(多种方法及详细ASCII图解)
|
6天前
|
存储 算法 数据可视化
|
6天前
|
存储 传感器 算法
LeetCode题目89:格雷码 递归、迭代及位操作在数组合并中的应用
LeetCode题目89:格雷码 递归、迭代及位操作在数组合并中的应用
|
6天前
|
存储 算法 数据挖掘
LeetCode 题目 81:搜索旋转排序数组 II
LeetCode 题目 81:搜索旋转排序数组 II