[leetcode]56. Merge Intervals(Java)
来源:互联网 发布:淘宝特种经营许可规则 编辑:程序博客网 时间:2024/06/13 23:58
https://leetcode.com/problems/merge-intervals/#/description
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18]
,
return [1,6],[8,10],[15,18]
.
Java Code:
package go.jacob.day626;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Demo3 {/* * Runtime: 25 ms.Your runtime beats 83.79 % of java submissions. * 参考自:@danchou */public List<Interval> merge(List<Interval> intervals) {Collections.sort(intervals, new Comparator<Interval>() {@Overridepublic int compare(Interval obj0, Interval obj1) {return obj0.start - obj1.start;}});List<Interval> ret = new ArrayList<>();Interval prev = null;for (Interval inter : intervals) {if (prev == null || inter.start > prev.end) {ret.add(inter);prev = inter;} else if (inter.end > prev.end) {// Modify the element already in listprev.end = inter.end;}}return ret;}/* * 首先对intervals中的元素进行排序(按start升序) 然后循环判断能否增加end * * Runtime: 27 ms.Your runtime beats 68.55 % of java submissions. */public List<Interval> merge_byme(List<Interval> intervals) {List<Interval> res = new ArrayList<Interval>();if (intervals == null)return res;// 对intervals中元素进行排序Collections.sort(intervals, new Comparator<Interval>() {@Overridepublic int compare(Interval i1, Interval i2) {return i1.start - i2.start;}});int index = 0;while (index < intervals.size()) {Interval temp1 = intervals.get(index);while (index != intervals.size() - 1) {Interval temp2 = intervals.get(index + 1);if (temp2.start <= temp1.end) {index++;if (temp2.end > temp1.end) {temp1.end = temp2.end;}} elsebreak;}res.add(temp1);index++;}return res;}}class Interval {int start;int end;Interval() {start = 0;end = 0;}Interval(int s, int e) {start = s;end = e;}}
阅读全文
0 0
- 56. Merge Intervals-leetcode-java
- (Java)LeetCode-56. Merge Intervals
- [leetcode]56. Merge Intervals(Java)
- [Leetcode] Merge Intervals (Java)
- [LeetCode][Java] Merge Intervals
- leetcode oj java 56. Merge Intervals
- [LeetCode]56.Merge Intervals
- 56. Merge Intervals Leetcode
- LeetCode --- 56. Merge Intervals
- LeetCode 56.Merge Intervals
- [Leetcode] 56. Merge Intervals
- [leetcode] 56.Merge Intervals
- 【leetcode】56. Merge Intervals
- [leetcode] 56.Merge Intervals
- **LeetCode 56. Merge Intervals
- LeetCode 56. Merge Intervals
- leetcode 56. Merge Intervals
- 【LeetCode】56. Merge Intervals
- java集合框架之Collections类
- Java面试基础问题
- C# Winform反序列化复杂json字符串
- 深入理解Spark 2.1 Core (四):运算结果处理和容错的原理与源码分析
- .vimrc
- [leetcode]56. Merge Intervals(Java)
- Win7下,nginx默认80端口被system占用,造成nginx启动报错
- CentOS6升级openssl报错libcrypto.a(rsaz_exp.o): could not read symbols: Bad value
- Codeforces Round #377(Div. 2)D.Exams(二分)
- tableview header 取消 悬浮
- QQ通信原理
- JAVA读取、写入、更新CLOB字段
- deepin软件中文乱码
- tableview header footer 取消悬浮