Car Fleet LeetCode solution in Java

1
class Solution {
2
class pair implements Comparable<pair> {
3
int pos;
4
double time;
5

6
pair(int pos, double time) {
7
this.pos = pos;
8
this.time = time;
9
}
10

11
public int compareTo(pair o) {
12
return o.pos - this.pos;
13
}
14
}
15

16
public int carFleet(int target, int[] position, int[] speed) {
17
double[] arr = new double[position.length];
18
for (int i = 0; i < position.length; i++) {
19
arr[i] = (target - position[i]) * 1.0 / speed[i];
20
}
21
PriorityQueue<pair> pq = new PriorityQueue<>();
22
for (int i = 0; i < position.length; i++) {
23
pq.add(new pair(position[i], arr[i]));
24
}
25
double updatetime = 0;
26
int fleet = 0;
27
while (pq.size() > 0) {
28
pair rem = pq.remove();
29
if (updatetime < rem.time) {
30
fleet++;
31
updatetime = rem.time;
32
}
33
}
34
return fleet;
35
}
36
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0