# 1870. Minimum Speed to Arrive on Time ###### tags: `Leetcode` `Medium` `Binary Search` Link: https://leetcode.com/problems/minimum-speed-to-arrive-on-time/ ## 思路 $O(NlogN)$ $O(1)$ ## Code ```java= class Solution { public int minSpeedOnTime(int[] dist, double hour) { int minHour = dist.length-1; if(hour<=minHour) return -1; int maxDist = 0; int start = 1, end = (int)1e7; while(start<end){ int mid = start+(end-start)/2; double time = computeTime(dist, mid); if(time>hour){ start = mid+1; } else end = mid; } return start; } private double computeTime(int[] dist, int speed){ double time = 0; for(int i=0; i<dist.length-1; i++){ time += Math.ceil((double)dist[i]/(double)speed); } time += (double)dist[dist.length-1]/(double)speed; return time; } } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up