Description
N cars are going to the same destination along a one lane road. The destination is target miles away.
Each car i has a constant speed speed[i] (in miles per hour), and initial position position[i] miles towards the target along the road.
A car can never pass another car ahead of it, but it can catch up to it, and drive bumper to bumper at the same speed.
The distance between these two cars is ignored - they are assumed to have the same position.
A car fleet is some non-empty set of cars driving at the same position and same speed. Note that a single car is also a car fleet.
If a car catches up to a car fleet right at the destination point, it will still be considered as one car fleet.
How many car fleets will arrive at the destination?
Example 1:
Note:
分析
题目的意思是:就是若干个汽车以不同的速度形式,一辆车为一个fleet,如果两辆车相遇,则合并成了一个fleet,问到达终点的时候,fleet的数目。
这个解法有点特别,它利用了map自身的排序的功能,然后把-positon[i]当成键,这样值越大,取负数越小,则遍历的时候就从小到大遍历。至于值为啥要这样计算,本人也没有很明白,不过我验证了一下,是正确的。
代码
参考文献