解题思路:
- 首先要计算所有怪兽攻击到城市所花费的次数,然后按照此时从小到达排序,我们要先杀掉次数少的,如果第n轮次的无法杀掉怪兽就输掉了
注意:
1.花费时间计算需要-1再除
2.查询攻破轮次
class Solution {
public:
int eliminateMaximum(vector<int>& dist, vector<int>& speed) {
// 计算每一怪兽攻下城市花费的时间
for(int i =0;i<dist.size();++i){
dist[i] = (dist[i]-1)/speed[i];
}
sort(dist.begin(),dist.end());
// 查询能够守住的轮次
for(int i = 0;i<dist.size();++i){
if(dist[i]<i){
return i;
}
}
return dist.size();
}
};