--- tags: leetcode --- # [853. Car Fleet](https://leetcode.com/problems/car-fleet/) --- # My Solution ## The Key Idea for Solving This Coding Question ## C++ Code ```cpp= 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 <!-- # Test Cases ``` 12 [10,8,0,5,3] [2,4,1,1,3] ``` ``` 10 [3] [3] ``` ``` 100 [0,2,4] [4,2,1] ``` ``` 10 [0,4,2] [2,1,3] ``` -->