[二分法]leetcode2187:完成旅途的最少时间(medium)
题目:
题解:
思路:二分法
关于如何想到使用二分时间
t
呢?
- 首先题目说的是给定一个时间
t
,然后求每辆公交车可以在这个时间t
内能完成的旅途数,用t/a[i]
来表示第i
辆公交车在时间t
内能完成的旅途数。显然时间 t 越长,每辆车在时间 t 内完成的旅途数越多,当然可以使用 二分 来寻找大于等于 tot 个旅途数的最少时间了。
关于二分的上下界:
- 由于我们至少需要1个时间来完成至少一次旅途,因此下界为 1;而对与二分查找的上界,出于对方便计算的考虑,可以将
花费时间最长的公交车完成 tot 躺旅途的时间
作为上界,而对于本题的数据范围可知,上界为 1e7*1e7 了。
代码如下:
using LL = long long;
class Solution {public:// 思路:二分寻找使n辆公交车能完成tot个旅途的最少时间long long minimumTime(vector<int>& a, int tot) {// 二分的下界为1:表示至少需要1个时间来至少1躺旅途;二分的上界为max(a)*tot:表示将花费时间最长的公交车完成tot躺的时间LL l=1,r=1e14+10;while(l<r){LL mid=(l+r)>>1;LL sum=0;for(int x:a){sum+=(mid/x);}if(sum>=tot)r=mid;else l=mid+1;}return l;}};
[二分法]leetcode2187:完成旅途的最少时间(medium)相关推荐
- leetcode2187. 完成旅途的最少时间(mid)(282)
完成旅途的最少时间 代码 力扣链接 代码 class Solution {public long minimumTime(int[] time, int totalTrips) {long l = 1 ...
- LeetCode 2187. 完成旅途的最少时间(二分查找)
文章目录 1. 题目 2. 解题 1. 题目 给你一个数组 time ,其中 time[i] 表示第 i 辆公交车完成 一趟旅途 所需要花费的时间. 每辆公交车可以 连续 完成多趟旅途,也就是说,一辆 ...
- 力扣 6010. 完成旅途的最少时间
题目 给你一个数组 time ,其中 time[i] 表示第 i 辆公交车完成 一趟旅途 所需要花费的时间. 每辆公交车可以 连续 完成多趟旅途,也就是说,一辆公交车当前旅途完成后,可以 立马开始 下 ...
- LeetCode-完成旅途的最少时间
题目 给你一个数组 time ,其中 time[i] 表示第 i 辆公交车完成 一趟旅途 所需要花费的时间. 每辆公交车可以 连续 完成多趟旅途,也就是说,一辆公交车当前旅途完成后,可以 立马开始 下 ...
- 活动图求最少时间和松弛时间
一.介绍 PERT(Program/Project Evaluation and Review Technique)即计划评审技术,PERT是利用网络分析制定计划以及对计划予以评价的技术. 构造PER ...
- 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为20:40,则整个旅途所用时间为04:40。
题目描述 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间.比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为20:40,则整个旅途所用时间为04:40.题目保证出发时间 ...
- 问题 E: 1.10 旅行时间 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。
问题 E: 1.10 旅行时间 时间限制: 1 Sec 内存限制: 128 MB 提交: 8001 解决: 4162 [提交] [状态] [讨论版] [命题人:fuwx] 题目描述 根据火车的出发时间 ...
- 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。
[题目描述] 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间.比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为,则整个旅途所用时间为4:40.输入格式仅一行,包含2个 ...
- 计算火车运行时间 本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间
计算火车运行时间 本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间. 输入格式 输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间.每个时间的格式为2 ...
最新文章
- response.getWriter().write()和 response.getWriter().print()的区别
- 典型云平台技术栈有哪些?
- Alluxio HA 写入文件失败
- ADO.NET中带参数的Sql语句的陷阱
- fat32转ntfs工具无损数据安全转换_干货真香! 无损制作UD三分区教程,新手小白的福利来了...
- 巧用yield处理文本
- 压力测试和负载测试区别_性能测试vs压力测试vs负载测试
- 基于耗散性的matlab,基于耗散能的沥青抗老化性能评价方法与流程
- win7更新_WIN7操作系统无法更新IE11的解决办法
- pc ps4手柄 驱动_《地平线:黎明时分》PC版性能表现分析
- SQL零基础入门学习(十)
- #457 科技乱炖:去中心化的Damus,会比Twitter更好么
- 大学生选择云服务器,腾讯云?阿里云?还是华为云?
- 如何用tensorflow使用自定义数据来训练,做物体检测
- 如何使用.bas文件
- 10分钟教你用python如何正确把妹
- vue 框架总结 使用elementUI
- 如何关闭windows10易升更新程程序
- 盘点:三十五个非主流开源数据库
- 【渝粤教育】电大中专电子商务网站建设与维护 (23)作业 题库