题解 | #线段重合#

线段重合

https://www.nowcoder.com/practice/1ae8d0b6bb4e4bcdbf64ec491f63fc37

这边替左神宣传下【算法讲解027【必备】堆结构常见题】

你看你也会!

下面开始说思路:

设定每个线段都有l和r两个端点,

首先先给线段按l,升序排列;

(这边我使用java自带的Arrays.sort+自定义规则完成)

其次在for循环里的while循环里,从peek一下小根堆(这里面我们放r,但不是一股脑全放进去)得到一个r,看看这个r是否小于此时的l,如果是,则poll;否则什么也不干

(这里我使用java优先队列当堆)

直到堆空或没有r < l为止,我们再把这条线段的r,add进去,

最后,heap.size()和事先声明的ans取个较大者,在循环完毕后输出即可。

全部评论

相关推荐

zhch7:建议9✌️把学历加黑加粗,如果实在offer可能是觉得佬不会去
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务