【LeetCode】2187. 完成旅途的最少时间

1. 题意

在这里插入图片描述

2. 分析

二分法有一个关键特征:如果答案answer满足题意,那么对于任何整数i,如果有i>=answer,那么i也会是一个存在的解,只不过不是最优解。

本题想要找出一个达到 totalTrips 趟需要的最少时间成本t,那么对于题目来说任何大于t的数也会是解,但不是最优解;任何小于t的数都不是解。这样整个值域就被分成了两部分,区间[0,t)[t, +∞),如下图所示:
在这里插入图片描述
那么使用二分法不断的折中找出这个边界值即可。

3. 代码

class Solution:
    def minimumTime(self, time: List[int], totalTrips: int) -> int:
        left = 1
        max_time = time[0]
        for cur_time in time:
            max_time = max(max_time, cur_time)
        
        # 如果由这辆最慢的车完成totalTrips 需要的时间
        right = max_time * totalTrips
        while(left <= right):
            mid = (left+right)//2
            if self.check(mid, totalTrips, time):
                right = mid-1
            else:
                left = mid+1
        return left
            
    # time_cost 需要花费的最少时间
    # times 时间数组
    def check(self, time_cost, totalTrips, times):
        cnt = 0
        for time in times:
            cnt += (time_cost//time) # 当前这个time可以完成几趟
        return cnt >= totalTrips

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分布式系统中雪花ID的使用及前后台精度解决

本文介绍了雪花ID的应用场景&#xff0c;以及针对雪花id生成精度过大导致数据缺失的解决方案。 一、概念 雪花 ID是一种分布式 ID 生成策略&#xff0c;保证全局唯一&#xff0c;位数组成中含有时间戳&#xff0c;相比UUID,故也能保证自增。 二、应用场景 分库、分表、分片、…

Python 爬虫:使用打码平台来识别各种验证码:

本课程使用的是 超级鹰 打码平台&#xff0c; 没有账户的请自行注册&#xff01; 超级鹰验证码识别-专业的验证码云端识别服务,让验证码识别更快速、更准确、更强大 使用打码平台来攻破验证码难题&#xff0c; 是很简单容易的&#xff0c; 但是要钱&#xff01; 案例代码及测…

Ubuntu安装MATLAB

一、准备工作 下载MATLAB安装文件&#xff1a; 访问MathWorks官方网站&#xff08;MathWorks官网&#xff09;&#xff0c;下载适用于Linux的MATLAB安装文件。这通常是一个.iso镜像文件或.zip压缩文件。请注意选择与Ubuntu版本相匹配的MATLAB版本。创建安装目录&#xff1a; 打…

【学习css1】flex布局-页面footer部分保持在网页底部

中间内容高度不够屏幕高度撑不开的页面时候&#xff0c;页面footer部分都能保持在网页页脚&#xff08;最底部&#xff09;的方法 1、首先上图看显示效果 2、奉上源码 2.1、html部分 <body><header>头部</header><main>主区域</main><foot…

英特尔CPU研发团队繁忙的一天

早晨&#xff1a;准备与启动 7:00 AM - 起床与准备 研发团队的工程师们早早起床&#xff0c;快速洗漱并享用健康的早餐。部分工程师会进行晨间锻炼&#xff0c;保持头脑清醒和身体活力。 8:00 AM - 到达办公室 工程师们来到位于硅谷的英特尔总部&#xff0c;进入研发中心。…

Ubuntu 安装搜狗输入法

搜狗输入法已支持Ubuntu1604、1804、1910、2004、2010 各系统安装步骤可能略有不同 1、添加中文语言支持 打开 系统设置——区域和语言——管理已安装的语言——在“语言”tab下——点击“添加或删除语言” 弹出“已安装语言”窗口&#xff0c;勾选中文&#xff08;简体&…

Qt之元对象系统

Qt的元对象系统提供了信号和槽机制&#xff08;用于对象间的通信&#xff09;、运行时类型信息和动态属性系统。 元对象系统基于三个要素&#xff1a; 1、QObject类为那些可以利用元对象系统的对象提供了一个基类。 2、在类声明中使用Q_OBJECT宏用于启用元对象特性&#xff0c…

5 个搜索 deb 软件包的好地方

基于 Debian 的 Linux 发行版上有一个共同特点&#xff1a;为用户提供了很多可选的软件。当涉及到为 Linux 制作软件时&#xff0c;所有的大公司都首先瞄准这种类型的 Linux 发行版。甚至一些开发人员根本不打算为其他类型的 Linux 发行版打包&#xff0c;只做 DEB 包。 然而&…

easyExcel 不规则模板导入数据

文章目录 前言一、需求和效果二、难点和思路三、全部代码踩坑 前言 之前分享的 EasyExcel 批量导入并校验数据&#xff0c;仅支持规则excel&#xff0c;即首行表头&#xff0c;下面对应数据&#xff0c;无合并单元格情况。 本篇主要解决问题&#xff1a; 模板excel 表头不在首…

Macos 远程登录 Ubuntu22.04 桌面

这里使用的桌面程序为 xfce, 而 gnome 桌面则测试失败。 1,安装 在ubuntu上&#xff0c;安装 vnc server与桌面程序xfce sudo apt install xfce4 xfce4-goodies tightvncserver 2&#xff0c;第一次启动和配置 $ tightvncserver :1 设置密码。 然后修改配置&#xff1a…

[Spring] Spring Web MVC基础理论

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

PyTorch复现PointNet++——模型训练+模型测试

本博文主要实现对PointNet源码进行调试&#xff0c;训练可视化测试。 一、下载源码和数据集 论文&#xff1a;PointNet: Deep Hierarchical Feature Learning on Point Sets in a Metric Space GitHub源码&#xff1a;Pointnet2_pytorch 数据集包括三种&#xff1a;分类、零部…

对进阶指针的追忆

目录 思维导图 指针前言 一&#xff1a;字符指针 二&#xff1a;指针数组 三&#xff1a;数组指针 四&#xff1a;数组参数 && 指针参数 五&#xff1a;函数指针 六&#xff1a;函数指针数组 七&#xff1a;函数指针数组的指针 八&#xff1a;回调函数 思维导…

json-server服务使用教程

目录标题 安装 json-server启动 json-server 本地服务 安装 json-server npm install -g json-server0.17.4json-server -v报错请参考&#xff1a;执行json-server -v报错 因为在此系统上禁止运行脚本。 启动 json-server 本地服务 查看本机IP&#xff1a;ipconfig Shift右…

MySQL-日志-优化

目录 介绍一下mysql 的日志 redo log 和binlog 的区别及应用场景 redo log 和 binlog 在恢复数据库有什么区别? redo log 是怎么实现持久化的? redo log除了崩溃恢复还有什么其他作用? &#xff08;顺序写&#xff09; redo log 怎么刷入磁盘的知道吗&#xff1f; 两阶…

JVM学习(day1)

JVM 运行时数据区 线程共享&#xff1a;方法区、堆 线程独享&#xff08;与个体“同生共死”&#xff09;&#xff1a;虚拟机栈、本地方法栈、程序计数器 程序计数器 作用&#xff1a;记录下次要执行的代码行的行号 特点&#xff1a;为一个没有OOM&#xff08;内存溢出&a…

深度学习DeepLearning二元分类 学习笔记

文章目录 类别区分变量与概念逻辑回归Sigmoid函数公式决策边逻辑损失函数和代价函数逻辑回归的梯度下降泛化过拟合的解决方案正则化 类别区分 变量与概念 决策边置信度阈值threshold过拟合欠拟合正则化高偏差lambda&#xff08;λ&#xff09; 线性回归受个别极端值影响&…

TemuAPI接口:获取商品详情功能

temu作为拼多多海外的跨境电商平台&#xff0c;已经在海外电商领域崭露头角&#xff0c;越来越多的外贸人选择temu作为发展平台。今天的接口可以用于获取temu平台的商品详情&#xff0c;包括价格、商品图片、规格、评论等内容&#xff0c;如有需要&#xff0c;请点击文末链接或…

AFL安装和初步使用

代码漏洞 AFL安装和初步使用 0. 前言1. 下载2. 安装3. 初步使用1&#xff09;准备文件2&#xff09;插桩编译C生成二进制3&#xff09;开始Fuzz&#xff08;1&#xff09;正常执行&#xff08;2&#xff09;**可能出现的问题**&#xff08;3&#xff09;正常结果 AFL安装和初步…

【Linux网络】数据链路层【下】{MAC/MTU/ARP/ICMP/NAT/PING/代理服务器原理}

文章目录 1.逐步深入数据链路层1.1MAC帧1.2由集线器到交换机1.3认识MTU 2.ARP 地址解析协议/RARP逆地址解析协议3.DNS(Domain Name System)域名从输入url后到能看到网页 发生了什么【典中典】 4.ICMP协议&#xff1a;一个网络层协议有了TCP&#xff0c;为什么还要用ICMPICMP协议…