高级农民
- 积分
- 2649
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2016-11-28
- 最后登录
- 1970-1-1
|
本楼: |
👍
0
|
|
0
👎
|
全局: |
54144 |
|
4085 |
我的想法是可以优化到max(n,m)logn
首先把队列中的n个耐久度依次放进一个新数组,每次放进去的时候用二分法进行大小比较并且换位,最后在新数组中的位置代表在此之前多少人可以上车。另外储存一个hash,在每一个耐久度放进新数组之后,立即保存/刷新这个耐久度数值和位置的键值对。复杂度nlogn
第二步是对这个键值对按耐久度进行从小到大的排序。复杂度nlogn
然后再根据m个公交车到达的时刻,在第二步获得的数组中进行二分查找。复杂度mlogn
补充内容 (2024-04-08 06:55 +08:00):
抛砖引玉 |
|