网站是怎么做出来的,推广计划方案,虚拟电子商务网站建设前期规划方案,北京工商注册查询题目#xff1a; /** 单调栈#xff1a;存储到终点的时间#xff0c;需要考虑浮点数* 思路#xff1a;首先按照距离进行排序#xff08;目的#xff1a;如果离终点远的车辆用时比前面的车辆用时短#xff0c;则是一个车队)* 排序后计算每一辆车辆的时间如果用…题目 /** 单调栈存储到终点的时间需要考虑浮点数* 思路首先按照距离进行排序目的如果离终点远的车辆用时比前面的车辆用时短则是一个车队)* 排序后计算每一辆车辆的时间如果用时比栈顶的时间短说明是一个车队的否则不是入栈。* auther start* create 2023-12-06 19:23*/
public class L853 {public int carFleet(int target, int[] position, int[] speed) {int n position.length;Car[] cars new Car[n];for (int i 0; i n; i) {cars[i] new Car(position[i], speed[i]);}//排序降序排序使用lamda表达式Arrays.sort(cars, (a, b) - a.pos - b.pos 0 ? -1 : 1);DequeDouble stack new LinkedList();for (int i 0; i n; i) {double t (target - cars[i].pos) * 1.0 / cars[i].speed;if (!stack.isEmpty() stack.peek() t) {//该车辆追上了栈顶元素代表的车辆整合,最后栈中的个数就是车队的数量} else {stack.push(t);}}return stack.size();}static class Car {int pos 0, speed 0;public Car(int pos, int speed) {this.pos pos;this.speed speed;}}}