博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode56
阅读量:6138 次
发布时间:2019-06-21

本文共 1501 字,大约阅读时间需要 5 分钟。

public class Solution    {        public IList
Merge(IList
intervals) { var len = intervals.Count; if (len == 1) { return intervals; } var list = intervals.OrderBy(x => x.start).ToList(); int i = 0; while (i < list.Count) { int j = i; while (i < list.Count - 1 && list[j].end >= list[i + 1].start) { //可以融合 //前项修改,后项删除 list[j].start = Math.Min(list[j].start, list[i + 1].start); list[j].end = Math.Max(list[j].end, list[i + 1].end); list.RemoveAt(i + 1); } i++; } return list; } }

 

提供一个python版本的实现:

1 class Solution: 2     def merge(self, intervals: 'List[Interval]') -> 'List[Interval]': 3         intervals = sorted(intervals,key=lambda x:[x[0],-x[1]]) 4         i = 0 5         while i < len(intervals) - 1: 6             curbegin = intervals[i][0] 7             curend = intervals[i][1] 8  9             nextbegin = intervals[i+1][0]10             nextend = intervals[i+1][1]11             if curend >= nextbegin:12                 intervals.pop(i)13                 intervals[i]=[min(curbegin,nextbegin),max(curend,nextend)]14             else:15                 i += 116         return intervals

 

转载于:https://www.cnblogs.com/asenyang/p/9747123.html

你可能感兴趣的文章
《树莓派实战秘籍》——1.7 技巧07使用过压获得更高的性能
查看>>
《SAS 统计分析与应用从入门到精通(第二版)》一1.4 SAS系统的文件管理
查看>>
《众妙之门——网页设计专业之道》——2.4 总结
查看>>
MySQL sql_mode 说明(及处理一起 sql_mode 引发的问题)
查看>>
Java 注解详解 (annotation)
查看>>
鹰眼跟踪、限流降级,EDAS的微服务解决之道
查看>>
秘籍:程序猿该如何实力撩妹
查看>>
网络编程socket基本API详解
查看>>
API接口设计 OAuth2.0认证
查看>>
Mysql5.6的1755错误解决办法
查看>>
在命令行中运行“mvn compile”因为中文报错
查看>>
Docker的技术不再局限于测试和开发
查看>>
技术干货:工欲善其事,必先利其器 阿里云数据库系列谈之一
查看>>
禁用ViewState
查看>>
深入理解Java HashMap实现原理
查看>>
阿里云备案获取服务号
查看>>
深入理解Python中的__builtin__和__builtins__
查看>>
YII AJAX registerScript
查看>>
ARC forbids explicit message send of 'retainCount'
查看>>
redis单机安装
查看>>