Try   HackMD

853. Car Fleet


My Solution

The Key Idea for Solving This Coding Question

C++ Code

struct carData { int position; double time; carData(int position, double time) : position(position), time(time) {} }; class Solution { public: int carFleet(int target, vector<int> &position, vector<int> &speed) { vector<carData> cars; for (int i = 0; i < position.size(); ++i) { cars.push_back(carData(position[i], static_cast<double>(target - position[i]) / speed[i])); } sort(cars.begin(), cars.end(), [](carData &car1, carData &car2){ return car1.position < car2.position; }); int carFleetCnt = 1; for (int curr = cars.size() - 1; curr >= 1; --curr) { if (cars[curr - 1].time <= cars[curr].time) { cars[curr - 1].time = cars[curr].time; continue; } ++carFleetCnt; } return carFleetCnt; } };

Time Complexity

Space Complexity

Miscellane