1921. Eliminate Maximum Number of Monsters

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
public int eliminateMaximum(int[] dist, int[] speed) {
int[] arrivalTimes = new int[dist.length];
for (int i = 0; i < dist.length; i++) {
arrivalTimes[i] = (dist[i] + speed[i] - 1) / speed[i]; // 向上取整,即多少分钟才能完全到达
}

Arrays.sort(arrivalTimes);

for (int i = 0; i < dist.length; i++) {
if (arrivalTimes[i] <= i) {
// 怪物提前到达
return i;
}
}

return dist.length;
}
}

References

1921. Eliminate Maximum Number of Monsters