---
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]
```
-->