当前位置:网站首页>LeetCode每日一题(1870. Minimum Speed to Arrive on Time)
LeetCode每日一题(1870. Minimum Speed to Arrive on Time)
2022-07-06 06:26:00 【wangjun861205】
You are given a floating-point number hour, representing the amount of time you have to reach the office. To commute to the office, you must take n trains in sequential order. You are also given an integer array dist of length n, where dist[i] describes the distance (in kilometers) of the ith train ride.
Each train can only depart at an integer hour, so you may need to wait in between each train ride.
For example, if the 1st train ride takes 1.5 hours, you must wait for an additional 0.5 hours before you can depart on the 2nd train ride at the 2 hour mark.
Return the minimum positive integer speed (in kilometers per hour) that all the trains must travel at for you to reach the office on time, or -1 if it is impossible to be on time.
Tests are generated such that the answer will not exceed 107 and hour will have at most two digits after the decimal point.
Example 1:
Input: dist = [1,3,2], hour = 6
Output: 1
Explanation: At speed 1:
- The first train ride takes 1/1 = 1 hour.
- Since we are already at an integer hour, we depart immediately at the 1 hour mark. The second train takes 3/1 = 3 hours.
- Since we are already at an integer hour, we depart immediately at the 4 hour mark. The third train takes 2/1 = 2 hours.
- You will arrive at exactly the 6 hour mark.
Example 2:
Input: dist = [1,3,2], hour = 2.7
Output: 3
Explanation: At speed 3:
- The first train ride takes 1/3 = 0.33333 hours.
- Since we are not at an integer hour, we wait until the 1 hour mark to depart. The second train ride takes 3/3 = 1 hour.
- Since we are already at an integer hour, we depart immediately at the 2 hour mark. The third train takes 2/3 = 0.66667 hours.
- You will arrive at the 2.66667 hour mark.
Example 3:
Input: dist = [1,3,2], hour = 1.9
Output: -1
Explanation: It is impossible because the earliest the third train can depart is at the 2 hour mark.
Constraints:
- n == dist.length
- 1 <= n <= 105
- 1 <= dist[i] <= 105
- 1 <= hour <= 109
- There will be at most two digits after the decimal point in hour.
二分查找, 多余的不说了, 最小值肯定是 1, 最大值题目里给了是 10 的七次方
impl Solution {
pub fn min_speed_on_time(dist: Vec<i32>, hour: f64) -> i32 {
let mut min = 1;
let mut max = 10i32.pow(7) + 1;
let mut ans = -1;
while min < max {
let mid = (min + max) / 2;
let mut total = 0.0;
for i in 0..dist.len() - 1 {
total += (dist[i] as f64 / mid as f64).ceil() as f64;
}
total += *dist.last().unwrap() as f64 / mid as f64;
if total > hour {
min = mid + 1;
continue;
}
max = mid;
ans = mid;
}
ans
}
}
边栏推荐
- leetcode 24. Exchange the nodes in the linked list in pairs
- 字幕翻译中翻英一分钟多少钱?
- 英语论文翻译成中文字数变化
- 端午节快乐Wish Dragon Boat Festival is happy
- LeetCode 739. Daily temperature
- 利用快捷方式-LNK-上线CS
- MySQL is sorted alphabetically
- LeetCode 732. My schedule III
- How effective is the Chinese-English translation of international economic and trade contracts
- LeetCode 729. My schedule I
猜你喜欢
[Tera term] black cat takes you to learn TTL script -- serial port automation skill in embedded development
Mise en œuvre d’une fonction complexe d’ajout, de suppression et de modification basée sur jeecg - boot
红蓝对抗之流量加密(Openssl加密传输、MSF流量加密、CS修改profile进行流量加密)
商标翻译有什么特点,如何翻译?
【MQTT从入门到提高系列 | 01】从0到1快速搭建MQTT测试环境
Drug disease association prediction based on multi-scale heterogeneous network topology information and multiple attributes
Avtiviti创建表时报错:Error getting a new connection. Cause: org.apache.commons.dbcp.SQLNestedException
MFC关于长字符串unsigned char与CString转换及显示问题
Tms320c665x + Xilinx artix7 DSP + FPGA high speed core board
MySQL5.72.msi安装失败
随机推荐
Basic knowledge of MySQL
oscp raven2靶机渗透过程
Error getting a new connection Cause: org. apache. commons. dbcp. SQLNestedException
The pit encountered by keil over the years
Apple has open source, but what about it?
在uni-app中使用腾讯视频插件播放视频
Changes in the number of words in English papers translated into Chinese
钓鱼&文件名反转&office远程模板
A 27-year-old without a diploma, wants to work hard on self-study programming, and has the opportunity to become a programmer?
MySQL is sorted alphabetically
模拟卷Leetcode【普通】1249. 移除无效的括号
关于新冠疫情,常用的英文单词、语句有哪些?
MySQL5.72.msi安装失败
Postman core function analysis - parameterization and test report
leetcode 24. 两两交换链表中的节点
Cannot create poolableconnectionfactory (could not create connection to database server. error
[web security] nodejs prototype chain pollution analysis
Simulation volume leetcode [general] 1143 Longest common subsequence
Data type of MySQL
Transfert des paramètres de la barre d'adresse de la page de liste basée sur jeecg - boot