代码随想录算法训练营第三十六天| 435、763、56

435. 无重叠区间

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:1h

思路:根据右边界大小进行排序,先找到最小右边界,左边界比最小右边界小的区间都要删除,当找到不小于最小右边界的区间,则把这个区间的右边界作为新的最小值。

代码:

图1



763.划分字母区间

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:0.5h

思路:先统计每个字母最后出现的位置,然后遍历字符串,根据每个字符最远的位置的大小更新一个右边界值,如果下标到达该右边界,则找到考虑分割点。

代码:

图2



56. 合并区间

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:1h

思路:根据左边界大小排序,选择第一个区间放入结果,遍历区间组,每个区间如果左边界小于当前结果区间的右边界,表示两者相交,则从当前结果区间和遍历的区间选择较大的右边界作为当前结果区间的右边界。否则就是不相交,则把当前遍历区间放入结果中,重复上述步骤直至结束。

代码:

图3
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容