leetcode 853. 车队

单片机技术入门与实战:从零基础到项目开发 单片机(MCU)作为嵌入式系统的核心组件,集成了CPU、内存和各种接口电路,广泛应用于智能家居、工业控制和汽车电子等领域。其工作原理基于实时控制和低功耗设计,通过定时器、中断系统和通信接口等功能模块实现各种控制任务。在物联网和智能硬件快速发展的背景下,掌握单片机开发技术成为电子工程师的重要技能。本文以STM32和PIC系列为例,详细解析单片机的基本概念、功能模块和选型指南,并分享从入门到项目实战的系统学习方法,帮助开发者在3-6个月内快速掌握这一关键技术。 阅读详情

题目:    

N  辆车沿着一条车道驶向位于 target 英里之外的共同目的地。

每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。

一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。

此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。

车队 是一些由行驶在相同位置、具有相同速度的车组成的非空集合。注意,一辆车也可以是一个车队。

即便一辆车在目的地才赶上了一个车队,它们仍然会被视作是同一个车队。

 

会有多少车队到达目的地?

 

示例:

输入:target = 12, position = [10,8,0,5,3], speed = [2,4,1,1,3]
输出:3
解释:
从 10 和 8 开始的车会组成一个车队,它们在 12 处相遇。
从 0 处开始的车无法追上其它车,所以它自己就是一个车队。
从 5 和 3 开始的车会组成一个车队,它们在 6 处相遇。
请注意,在到达目的地之前没有其它车会遇到这些车队,所以答案是 3。


提示:

  1. 0 <= N <= 10 ^ 4
  2. 0 < target <= 10 ^ 6
  3. 0 < speed[i] <= 10 ^ 6
  4. 0 <= position[i] < target
  5. 所有车的初始位置各不相同。
解析:

这道题可以看成是把数据分类,具体的做法是:

1、需要先按照位置来排序。车队的起始状态:我们认为每个车队都包含自己一辆车,对应于结构体中的cnt,

2、我们依次进行判断,比如,1号车(位置靠前)的速度比2号车的速度小,忽略2号车,然后判断1号车和3号车,依次类推;

3、如果1号车速度比2号车速度大,我们判断在到达终点之前,通过计算公式看看1号车和2号车能不能相遇,如果不能相遇则忽略,如果相遇了,我们把1号车加如2号车的车队,1号车的.cnt = 0, 2号车的 .cnt += 1号车的 .cnt, 并且打破1号车的循环,继续判断2号车和其他车。

最后我们只需判断cnt > 0 的车队的数量即可。

代码:

struct carTeam{
    int position;
    int speed;
    int cnt = 1;
    carTeam(int x, int y): position(x), speed(y){}
};

static int cmp(carTeam a, carTeam b){
    return a.position < b.position;

}

class Solution {
public:
    int carFleet(int target, vector<int>& position, vector<int>& speed) {
        long len1 = position.size(), len2 = speed.size();
        if(len1 != len2)
            return -1;
        vector<carTeam> data;
        for(int i = 0; i < len1; i++)
            data.push_back(carTeam(position[i], speed[i]));
        sort(data.begin(), data.end(), cmp);
        for(int i = 0; i + 1 < len1; i++){
            for(int j = i + 1; j < len1; j++){
                if(data[i].speed > data[j].speed){
                    if(((double)data[j].position - data[i].position) / (data[i].speed - data[j].speed) * data[j].speed + data[j].position <= target){
                        data[j].cnt += data[i].cnt;
                        data[i].cnt = 0;
                        break;
                    }
                }
            }
        }
        int ret = 0;
        for(int i = 0; i < len1; i++)
            if(data[i].cnt > 0)
                ret++;
        return ret;
    }
};
OSPF规划两大模型:双塔奇兵、犬牙交错 大家好,今天给大家带来的是OSPF规划两大模型:双塔奇兵、犬牙交错,让我们直接开始吧! OSPF规划之双塔奇兵 说明: OSPF 如果某个区域存在两个 ABR,并且在两个 ABR 上都对 area n 内的路由做了聚合操作。 最佳配置: 两台ABR之间的红线应该使用以太网的子接口技术,一个子接口属于area0,另一个属于 area n;或者该链路规划为 area n,同时配置虚连接; ABR 的 loopback0 规划入 area 0 OSPF 规划之犬牙交错 说明: 有时接入层的设备会以乱序的 阅读详情

相关推荐

从零开始安装 Windows 11 和 Ubuntu 22.04 双系统

本文详解Windows与Ubuntu 22.04双系统安装流程:需提前确认BIOS模式(UEFI/GPT或Legacy/MBR),关闭BitLocker加密、设备加密及快速启动;推荐Rufus/Ventoy制作启动盘。安装时需规划分区方案(建议单独划分EFI系统分区),注意引导器安装位置选择。双系统启动通过BIOS引导顺序管理,安装后需同步Windows与Linux系统时间。教程适配主流UEFI+GPT设备,强调操作前数据备份及Windows更新策略调整,避免兼容性问题。

萑澈的博客 3765

【Leetcode】853. Car Fleet

题目地址: https://leetcode.com/problems/car-fleet/ 数轴上有nnn辆车,每辆车都在向右行使,目的地是xxx。给出每辆车的位置和其速度。当一辆车在到达目的地或者之前赶上了另一辆车的时候,它们就会结合起来成为一个“车队”,并且按照离目的地近的那辆车的速度一同行驶。问到达终点的时候一共有多少个不同车队。 先将车按其位置从左到右排序,一开始假设有nnn个车队,思路是每次某个车追上了另一个车(或者车队),则让答案减111。维护一个变量ccc,是当前车右边的车(或车队)到达目的

数学、算法爱好者的博客 430

Enterprise Architect 中文经典教程

本文使用到的EA工程文件下载 一、Enterprise Architect简介 Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发及部署等方面有着强大的支持,...

2万+

[Leetcode]853.车队

leetcode.853.车队

weixin_42036717的博客 343

大模型微调框架之TRL

近年来,大语言模型(LLMs)的快速发展推动了下游应用的繁荣,但如何高效地对这些模型进行对齐和微调,依然是研究与应用的热点。Hugging Face 开源的 TRL(Transformer Reinforcement Learning) 框架,提供了基于强化学习的语言模型训练方法,并支持 SFT(监督微调)、PPO(近端策略优化)、DPO(直接偏好优化)等多种方式,是目前对齐和微调 LLM 的重要工具。

和大家一起涨芝士 904

S32K3 eMIOS输入捕获(ICU)全解析:从信号测量到代码实现

本文深入解析了S32K3 eMIOS输入捕获(ICU)技术,从信号测量到代码实现的完整流程。详细对比了六种核心捕获模式的性能差异,提供了动态模式切换、Counter Bus配置、中断服务程序优化等实战技巧,并分享了汽车电子中的典型应用案例,如发动机转速测量和CAN唤醒脉冲检测。

weixin_33137081的博客 347

leetcode | go | 第853题 | 车队

【代码】leetcode | go | 第853题 | 车队。

iCling的博客 510

使用 Simulink + Simscape Electrical 对 级联H桥多电平整流器并网功率分配 进行建模与仿真

摘要:本文详细介绍了基于Simulink对级联H桥(CHB)多电平整流器并网功率分配进行建模的方法。内容包括系统组成、功率分配意义、Simulink建模流程、PWM控制策略实现、功率分配算法设计以及仿真分析。重点阐述了主电路搭建、双环控制结构(外环功率分配+内环电流控制)和载波层叠PWM调制技术,并提供了功率分配算法示例。通过优化参数和控制算法,可提升系统性能。该建模方法为电力电子变换器和新能源并网系统研究提供了有效工具。

amy_mhd的博客 251

LeetCode-853. 车队-排序

N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。 每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。 一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。 此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。 车队 是一些由行驶在相同位置、具有相同速度的车...

qq_43115606的博客 792

爬取Unsplash高清壁纸:Python爬虫实战教程(最新技术)

在当今数字化时代,高清壁纸已经成为人们个性化设备的重要元素。Unsplash作为全球最知名的免费高质量图片网站,汇集了数百万张由全球摄影师贡献的高清图片。然而,Unsplash官网的下载方式需要手动操作,对于需要批量下载壁纸的用户来说效率较低。本文将带你深入探索如何使用Python爬虫技术高效爬取Unsplash高清壁纸,从基础到进阶,全面掌握图片爬取的核心技术。Unsplash成立于2013年,是一个完全免费的图片分享平台。高质量内容:所有图片均由专业摄影师上传,分辨率普遍达到4K以上免费商用。

2201_76125261的博客 935

ARFoundation系列讲解-教程目录

一、教程目录 ARFoundation快速入门-01简介 ARFoundation快速入门-02环境搭建 ARFoundation快速入门-03环境配置之iOS ARFoundation快速入门-04环境配置之Android ARFoundation快速入门-05ARKit设备支持列表 ARFoundation快速入门-06ARCore设备支持列表 ARFoundation快速入门-07检查设备支持 ARFoundation快速入门-08平面检..........

a451319296的博客 3万+

春游 C++(半对)(最小字典序)

题目描述 春天阳光灿烂,小宋突然心血来潮想骑自行车去学校外面玩,但是到达目的地的路线不止一条,他想尽快的到达目的地,又能不需要骑太远的路, 你能帮助他吗? 输入格式: 输入包含一个测试数据,第一行有三个整数n(2 <= n <= 1000),途中可能经过的地点的个数,地点编号1~n;m(1 <= m <= 10000),为路径的条数;d(2 <= d <= n),目的地编号;其中学校为起点,默认为1。接下来m行: x y time dist , x y表示地点x,y是可以

Archer的博客 2137

AUTOSAR OS详细介绍及配置说明(更新版20240115)

AUTOSAR OS扩展了OSEK/VDX标准中的操作系统,所以本文结合OSEK/VDX的标准来介绍AUTOSAR OS,并借助Vector Configurator讲解AUTOSAR OS的配置。源于德语,英文意思是:“车载电子设备的开发系统和接口”,它是一个标准,用来产生嵌入式操作系统的规范,通讯协议栈,和汽车网络管理协议,也产生其他相关的规范。OSEK被设计来提供整车的各种电子控制单元的软件标准架构。

酒无忧的博客 1422

车队 (LeetCode853)

车队 (LeetCode853) N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。 每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。 一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。 此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。 车队 是一些...

qq_37858720的博客 275

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Leetcode 853. 车队 C++

Leetcode 853. 车队 题目 N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。 每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。 一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。 此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。 车队 是一些由行驶在相同位置、具有相同速度的车组成的非空集合。注意,一辆车也可以是一个车队。 即便一辆车在目的地才赶上

weixin_43750513的博客 652

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

LeetCode 853. 车队

最近刷LeetCode题目的一些思路,题目信息N  辆车沿着一条车道驶向位于 target 英里之外的共同目的地。每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。车队 是...

SundyGuo的博客 603

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

力扣853.车队

题目要求求出到达终点时,其中后车在追上前车时可以看作一个数轴,每辆车的位置从大到小排序,如果前车被追上,即有,避免浮点数错误,转化成乘法计算。

Pisasama的博客 319

Leetcode 853. 车队(Car Fleet)

Leetcode 853.车队 1 题目描述(Leetcode题目链接)   N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。   每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。   一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。   此时,我们会忽略这两辆车之间的...

qq_39378221的博客 457

力扣:853. 车队

我们先建立一个数组存位置和时间,然后对位置进行从小到大排序,接着算出时间存到tim数组里。最后遍历tim数组,如果当前车花的时间比栈顶时间大就加入到栈中。这个题结合了单调栈的思想和排序来解决。最后返回栈中元素的个数。

qq_74924951的博客 279

leetcode:853-车队

853:https://leetcode-cn.com/problems/car-fleet/ 题目: 思路:考虑要想成为一个车队,必然起点远点比起点进的肯定要用时少或者相等,既然这样,那就用map来记录时间以及起点,为了方便比较,应当将距离近的放在map的前面,这样的话,进行比较时,只用挨个比较,如果后面用时少于前者那必然是一个车队,否则就是另一个车队。 代码: ...

LLM1602的博客 305

LeetCode 853. 车队(排序)

1. 题目 N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。 每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。 一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。 此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。 车队 是一些由行驶在相同位置、具有相同速度的车组成的非空集合。 注意,一辆车也可以是一个车队。 即便一辆车在目的地才赶上了一个车队,它们仍然会被视

Michael是个半路程序员 1907

Leetcode.853 车队

输入:target = 12, position = [10,8,0,5,3], speed = [2,4,1,1,3]输入: target = 100, position = [0,2,4], speed = [4,2,1]然后,车队(速度2)和以4(速度1)出发的汽车组成一个车队,在6点相遇。此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。以0(速度4)和2(速度2)出发的车辆组成车队,在4点相遇。舰队以2的速度前进。从 5 和 3 开始的车会组成一个车队,它们在 6 处相遇。

感觉画质不如...原神的博客 168

LeetCode853——车队

class Solution { public int carFleet(int target, int[] position, int[] speed) { HashMap<Integer,Integer> map=new HashMap<>(); if(position.length==0) ...

Kyrie23的博客 269

Leetcode 853:车队

题目描述 N辆车沿着一条车道驶向位于target英里之外的共同目的地。 每辆车i以恒定的速度speed[i](英里/小时),从初始位置position[i](英里) 沿车道驶向目的地。 一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。 此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。 车队是一些由行驶在相同位...

weixin_35338624的博客 123

Leetcode 853.车队

853. 车队 题目难度 Medium 题目描述: N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。车...

Ref510的博客 660

【Leetcode】853. Car Fleet 853. 车队

解法 首先,把车按距终点的远近排。那么,一号车肯定是它属于的车队最后到终点时的状态。 如果二号车追不上它,那么一号车自己一个车队,问题转化成少了一号车的另一个小问题。 假如二号车能追上一号车,那么一号跟二号就一个车队了,这时候对于三号车来说: 要注意,如果三号车能追上二号车,那它一定能追上一号车,它的逆否命题是,如果三号车追不上一号车,那么它一定追不上二号车。 所以,对三号车来说,只要它能追上一...

lemonmillie的博客 249
上一篇: leetcode 848. 字母移位
下一篇: 855. 考场就座
Torch_Man
博客等级 码龄9年 6粉丝 25原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值