从品牌网站建设到网络营销策划,从策略到执行的一站式服务
小编给大家分享一下LeetCode如何解决合并区间问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
南陵网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联建站于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
题目描述:
“给定一个区间,合并重叠的部分(输入区间并没有按顺序)”
例如:
输入:[[1, 3], [2, 6], [8, 10], [15, 18]]输出:[[1, 6], [8, 10], [15, 18]]
输入:[[1, 4], [0, 0]]输出:[[0, 0], [1, 4]]
第一次尝试
1. 首先要将输入的二维数组按照第一个元素的大小排序,这样才能进行后面的判断
2. 设置一个最终返回的数组:final_list = []
3. 设置一个游标数组(二维数组里面的那一层):final_interval=intervals[0]
直接将其设置成排序后的输入数组的第一个数组元素,然后依次比较
final_interval与输入二维数组中的数组依次比较:
final_interval的右端点 >= 比较数组的左端点:有重叠的地方
(1)final_interval右端点取两者右端点中大的
(2)final_interval左端点取两者左端点中小的
无重叠:
将final_interval添加到final_list中,并将final_interval设置成下一个数组
代码美化一下
可以去掉右端点等于左端点的if判断(可以不用)
利用内置函数max、min取大的端点和小的端点
小结
任何题目要先判断一下输入空的情况
二维数组利用数组的append(数组)实现
数组排序时利用了匿名函数
intervals.sort(key=lambda x: x[0])
看完了这篇文章,相信你对“LeetCode如何解决合并区间问题”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图