竞赛
考级
时间复杂度O(m longn)
瀚高祖
时间复杂度:O(m log m+n) 先对所有人进行一次排序(高度降序排列) 在对台阶高度和人进行遍历(双指针) 当人不能跨越该层台阶时保存答案 否则台阶++;
垚Man
我们把台阶的差值求出来,这样能不能爬到这个台阶,只需要确认前面所有台阶差值的最大值就可以了,拿c数组来存值。然后我们用优先队列来存腿长和他的下标位置。开始从大往小进行选择,当我队列里的值大于最大的差值,我就可以跨到这个台阶,如果不大于,说明队列里的其他元素也不可能大于,因为优先队列默认腿长从大到小排序,所有我们放弃这个台阶,也就是n--,然后开始继续判断。如果判断完了队列里还有值,说明队列剩下的元素都是一个台阶也爬不动的,输出0就可以了。
江仙
提交答案之后,这里将显示提交结果~