Stanford CS144 lab 1
视频讲解
这道题目,我觉得是比较困难的,如果你没有进行一些系统的刷题经验,那么这道题目可能会让你有点吃力。我两个月前第一次做是做了整整7天(包括debug),虽然并不是一直耗在这道题目上,但还是好了很久的,甚至最后过了其其他测试,speedtest还是过不了。这两天重新pickup了,只花了一整天,两三个小时写,三四个小时debug就顺利过了。
首先,你需要了解字节流重排器的概念。字节流重排器的作用是将一个字节流按照一定的规则重新排列,使得字节流中的数据按照一定的顺序排列。它要求把失序乱序、重叠重复、冗余数据的数据给变成合法的数据流。
如果你刷过一些关于Intervals的题目,这道题目你花个最多一天应该就能搞定。如果没有比较系统性的解决方案,而是去分类讨论硬做,其实是事倍功半的。
前置刷题推荐
这些经典的Interval问题,可以做做,对这个lab有帮助。
56. 合并区间
57. 插入区间
435. 无重叠区间
这类题基本套路就是排序,然后遍历合并。
我的解法
仓库链接