56. Merge Intervals
Given a collection of intervals, merge all overlapping intervals.
Example 1:
Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].
Example 2:
Input: [[1,4],[4,5]] Output: [[1,5]] Explanation: Intervals [1,4] and [4,5] are considered overlapping.
NOTE: input types have been changed on April 15, 2019. Please reset to default code definition to get new method signature.
class Solution { public int[][] merge(int[][] intervals) { List<int[]> list = new ArrayList<>(); Collections.sort(Arrays.asList(intervals), Comparator.comparingInt(p -> p[0])); if(intervals.length > 1){ for(int i=1; i<intervals.length; i++){ if(intervals[i-1][1] >= intervals[i][0]){ int min = Math.min(intervals[i-1][0], intervals[i][0]); int max = Math.max(intervals[i-1][1], intervals[i][1]); intervals[i-1][0] = intervals[i][0] = min; intervals[i-1][1] = intervals[i][1] = max; }else{ list.add(intervals[i-1]); } } } if(intervals.length > 0){ list.add(intervals[intervals.length-1]); } int[][] result = new int[list.size()][2]; for(int i=0; i<list.size(); i++){ int[] p = list.get(i); result[i][0] = p[0]; result[i][1] = p[1]; } return result; } }
[문제] https://leetcode.com/problems/merge-intervals/
-
720. Longest Word in Dictionary
-
225. Implement Stack using Queues
-
56. Merge Intervals
-
844. Backspace String Compare
-
222. Count Complete Tree Nodes
-
697. Degree of an Array
-
605. Can Place Flowers
-
724. Find Pivot Index
-
448. Find All Numbers Disappeared in an Array
-
628. Maximum Product of Three Numbers
-
532. K-diff Pairs in an Array
-
897. Increasing Order Search Tree
-
872. Leaf-Similar Trees
-
876. Middle of the Linked List
-
203. Remove Linked List Elements
-
997. Find the Town Judge
-
270. Closest Binary Search Tree Value
-
687. Longest Univalue Path
-
783. Minimum Distance Between BST Nodes
-
235. Lowest Common Ancestor of a Binary Search Tree