Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- adaptive remeshing
- 코딩테스트
- SQL
- 컴퓨터사이언스
- 코테
- 컴퓨터공학
- DS
- LeetCode
- CS
- Mesh
- 대학생
- 자료구조
- 티스토리챌린지
- db
- Leet Code
- 데이터
- Python
- mysql
- meshgraphnet
- 데이터베이스
- GNN
- code
- Database
- coding
- 오블완
- sort
- CNN
- Data_Structure
- 데베
- 개발자
Archives
- Today
- Total
sy1214ei 님의 블로그
[Leet Code] 56. Merge Intervals 본문
[Level] Medium
[Topics] Array Sorting
Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.
https://leetcode.com/problems/merge-intervals/
Idea
Code
class Solution:
def selection_sort(self, intervals):
for i in range(len(intervals)):
smallest = i
for j in range(i+1, len(intervals)):
if intervals[j][0] < intervals[smallest][0]:
smallest = j
intervals[smallest],intervals[i] = intervals[i], intervals[smallest]
return intervals
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
intervals = self.selection_sort(intervals)
merge = [intervals[0]]
for i in range(1, len(intervals)):
if merge[-1][1] >= intervals[i][0]:
merge[-1][1] = max(merge[-1][1], intervals[i][1])
else:
merge.append(intervals[i])
return merge'[Coding]' 카테고리의 다른 글
| [Leet Code] 414. Third Maximum Number (1) | 2024.11.25 |
|---|---|
| [Leet Code] 350. Intersection of Two Arrays II (0) | 2024.11.25 |
| [Leet Code] 349. Intersection of Two Array (1) | 2024.11.25 |
| [Leet Code] 217. Con tains Duplicate (3) | 2024.11.25 |
| [Leet Code] 179. Largest Number (0) | 2024.11.24 |