【每日一题】1094. 拼车

news2024/9/28 23:31:47

1094. 拼车 - 力扣(LeetCode)

车上最初有 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
class Solution {
    int[] nums = new int[1001];
    public boolean carPooling(int[][] trips, int capacity) {
        int[] dif = new int[1001];
        int len = trips.length;
        for(int i = 0 ;i < len ; i++) {
            int num = trips[i][0];
            dif[trips[i][1]] += num;
            dif[trips[i][2]] -= num;
        }

        nums[0] = dif[0];
        if(nums[0] > capacity) return false;
        for(int i = 1 ; i < 1001;++i) {
            nums[i] = nums[i-1]+dif[i];
            if(nums[i] > capacity) return false;
        }

        return true;

    }
}

         每日一题,今天是中等题。算法有关差分数组。

        读题。可以发现题目虽然进行了包装,但本质上还是对一个路程数组里的元素进行加减的操作,同时判断操作完之后,元素值是否会出现违规的状态(超过该车的容量capacity)。所以本质上还是差分数组的题目,但题目没有给每次具体的值,但我们观察所给条件,可以发现from和to最多也就1000,我们只需要开一个1001的数组就可以满足条件了。开一个长度1001的dif数组和nums数组,nums数组用来作为最后算实际人数的数组,dif就是差分数组了,一开始没人,所以dif整个数组都是0,之后根据每次旅游进行区间人数的加减。最后根据差分数组倒推的公式,就可以算出nums的实际数值,并且对这些数值进行判断,是否会超过capacity。不会的话就满足条件,超过的话就没法送完。但要注意对nums[0]也需要进行一次判断。之后就可以返回答案了。

        差分数组等数组类算法,后续会整理到零基础算法中,敬请期待。运行后的结果如下:

 

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

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

相关文章

相机坐标系之间的转换

一、坐标系之间的转换 一个有4个坐标系&#xff1a;图像坐标系、像素坐标系、相机坐标系、世界坐标系。 1.图像坐标系和像素坐标系之间的转换 图像坐标系和像素坐标系在同一个平面&#xff0c;利用平面坐标系之间的转换关系可以之知道两个坐标系变换的公式&#xff0c;并且该…

Log4j2的JNDI注入漏洞(CVE-2021-44228)原理分析与思考

目录 前言 一、 前置知识 1.1 Log4j2 1.2 Log4j2 Lookup 1.3 JNDI 1.4 JNDI注入 二、 漏洞复现 三、 漏洞原理 3.1 MessagePatternConverter.format() 3.2 StrSubstitutor.resolveVariable() 3.3 Interpolator.lookup() 3.4 JndiLookup.lookup() 3.5 JndiManager.l…

cos文件上传demo (精简版通用)

1. 依赖 <!--腾讯云cos依赖--> <dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.54</version> </dependency> 2. FileController import com.ruoyi.common.core.domain.AjaxRe…

网络层协议—IP协议

网络层协议—IP协议 文章目录 网络层协议—IP协议网络层简介IP协议简介IP协议文格式IP协议报头实现网络互联的使用设备 网段划分IP地址划分子网掩码IP地址的特点特殊的IP地址IP地址的数量限制私有IP地址和公网IP地址NAT技术 路由报文的分片与组装IP地址和硬件地址 网络层简介 …

2023.10.8 基本 Thread 线程详解

目录 Thread 常见构造方法 Thread 常见属性 创建一个 Thread 线程 使用 jconsole 命令观察线程 中断一个 Thread 线程 等待一个 Thread 线程 休眠当前 Thread 线程 让出当前 Thread 线程的 CPU 资源 线程的状态 Thread 常见构造方法 方法说明Thread()创建线程对…

Nginx 重新编译添加新的模块

编译安装Nginx的时候&#xff0c;有些模块默认并不会安装&#xff0c;比如http_ssl_module&#xff0c;那么为了让Nginx支持HTTPS&#xff0c;必须添加这个模块。 下面讲解如何在已经安装过后再次添加新的模块。 1、找到安装nginx的源码根目录(即安装包存放目录)&#xff0c;…

2023年【G1工业锅炉司炉】考试题及G1工业锅炉司炉模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年G1工业锅炉司炉考试题为正在备考G1工业锅炉司炉操作证的学员准备的理论考试专题&#xff0c;每个月更新的G1工业锅炉司炉模拟考试祝您顺利通过G1工业锅炉司炉考试。 1、【多选题】TSGG0001-2012《锅炉安全技术监…

Potplayer结合cpolar内网穿透实现公网访问群晖WebDAV

把potplayer变成netflix需要几步&#xff1f; ​ 国内流媒体平台的内容让人一言难尽&#xff0c;就算是购买了国外的优秀作品&#xff0c;也总是在关键剧情上删删减减&#xff0c;就算是充了会员&#xff0c;效果如何&#xff1f; 广大网友不得不选择自己找资源下到本地&#x…

剪切板中,经常用到的gpt编程提问

/data/user/0/org.qpython.qpy/files/bin/qpy thon3.sh "/storage/emulated/0/qpython/评论 截图问题1.矩阵2.1.2.1空行问题1.4.5.py" && exit .1.2.1空行问题1.4.5.py" && exit < 时间戳&#xff1a; 时间戳&#xff1a; ("…

springboot 捕获特点异常信息并处理

前端获取效果图 springboot 捕获特点异常信息并处理 import com.one.utils.JSONResult; //JSONResult定义处理结果对象 import org.springframework.web.bind.annotation.ExceptionHandler

Flink开发环境搭建与提交运行Flink应用程序

Flink开发环境搭建与提交运行Flink应用程序 Flink概述环境 Flink程序开发项目构建添加依赖安装Netcat实现经典的词频统计批处理示例流处理示例 Flink Web UI 命令行提交作业编写Flink程序打包上传Jar提交作业查看任务测试 Web UI提交作业提交作业测试 Flink 概述 Apache Flink…

解决Opencv dnn模块无法使用onnx模型的问题(将onnx的动态输入改成静态)

一、问题来源 最近做人脸识别项目&#xff0c;想只用OpenCV自带的人脸检测和识别模块实现&#xff0c;使用OpenCV传统方法&#xff1a;Haar级联分类器人脸检测LBPH算法人脸识别的教程已经有了&#xff0c;于是想着用OpenCV中的dnn模块来实现&#xff0c;dnn实现人脸检测也有&a…

大数据安全 | 【实验】DES加密解密

文章目录 &#x1f4da;DES介绍&#x1f4da;基本流程&#x1f407;初始IP置换和逆置换&#x1f407;计算每一轮的子密钥&#x1f407;迭代与F函数⭐️E扩展置换⭐️S盒压缩⭐️P盒置换⭐️最后的F函数及迭代实现 &#x1f4da;DES加密解密实现&#x1f4da;关于雪崩效应 &…

企业如何实现信息化管理?IT运维管理有什么注意的事项?

随着信息技术的迅猛发展&#xff0c;企业所面临的IT运维管理挑战也日益复杂。在复杂的IT系统中&#xff0c;如何实施有效的运维管理已成为企业信息化部门关注的重点。本文分析了当前的IT运维管理现状以及所遇到的问题&#xff0c;并提出相应的解决方案——“的修”运维工单管理…

点云处理开发测试题目 完整解决方案

点云处理开发测试题目 文件夹中有一个场景的三块点云数据,单位mm。是一个桌子上放了一个纸箱,纸箱上有四个圆孔。需要做的内容是: 1. 绘制出最小外接立方体,得到纸箱的长宽高值。注意高度计算是纸箱平面到桌子平面的距离。 2. 计算出纸箱上的四个圆的圆心坐标和半径,对圆…

活动聊天机器人如何革新活动行业

在如今快节奏的时代&#xff0c;活动策划和管理对于任何活动的成功变得至关重要。无论是会议、展览会还是企业聚会&#xff0c;组织者都努力为参与者创造难忘的体验&#xff0c;同时确保幕后的顺利执行。然而&#xff0c;由于有许多任务需要处理且资源有限&#xff0c;管理活动…

2023年另类数据研究报告

第一章 引言 1.1 定义 另类数据&#xff0c;通常被定义为传统金融报告和宏观经济指标之外的信息&#xff0c;近年来在投资领域中的重要性日益增长。这种数据通常来源于非传统的数据源&#xff0c;例如社交媒体、卫星图像、互联网搜索记录和消费者交易数据等。与传统数据相比…

docker入门加实战—从部署MySQL入门docker

docker入门加实战—从部署MySQL入门docker docker部署MySQL 输入如下命令&#xff1a; docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT_PASSWORD123 \mysql部署成功截图如下&#xff1a; 当执行命令后&#xff0c;Docker做的第一件事情&…

MAX插件CGMAGIC一键解决效果图在软包硬包上费时费力操作!

使用3dmax软件进行室内建模中的软包、硬包、欧式真皮沙发等家具建模这些的操作相对是比较多的&#xff0c;3dmax软包建模来说&#xff0c;进行手动建模一向都是非常头痛和耗时的事情。 CGMAGIC小编来和大家聊聊&#xff0c;如何一键解决效果图在软包硬包上费时费力操作&#xf…

mp4音视频分离技术

文章目录 问题描述一、分离MP3二、分离无声音的MP4三、结果 问题描述 MP4视频想拆分成一个MP3音频和一个无声音的MP4文件 一、分离MP3 ffmpeg -i C:\Users\Administrator\Desktop\一个文件夹\我在财神殿里长跪不起_完整版MV.mp4 -vn C:\Users\Administrator\Desktop\一个文件…