class Solution {
public int minSpeedOnTime(int[] dist, double hour) {
int len = dist.length;
//乘车时间为len-1小时起步
if (len - 1 >= hour) {
return -1;
}
int i = 1;
int j =10000000;
int index = -1;
while(i <= j){
int mid = (i + 1 + j) / 2;
if(check2(dist,mid,hour)){
index = mid;
j = mid - 1;
}else{
i = mid + 1;
}
}
return index;
}
public boolean check2(int[] dist,int d,double time){
double sum = 0;
for(int i = 0;i < dist.length;i++){
if(i != dist.length - 1){
sum+=Math.ceil(dist[i] /Double.valueOf(d));
}else{
sum+=dist[i] /Double.valueOf(d);
}
if(sum > time){
return false;
}
}
return true;
}
}
1870. 准时到达的列车最小时速(java)
最新推荐文章于 2024-07-14 14:59:27 发布