File tree Expand file tree Collapse file tree 1 file changed +25
-5
lines changed Expand file tree Collapse file tree 1 file changed +25
-5
lines changed Original file line number Diff line number Diff line change 4
4
- intervals[i].length == 2
5
5
- 0 <= starti <= endi <= 10^4
6
6
7
- Time Complexity:
8
- -
7
+ Time Complexity: O(nlogn)
8
+ - ์ ๋ ฌ์ nlogn, ์ํ์ n์ด ํ์ํ๋ฏ๋ก ์ ์ฒด๋ O(nlogn)
9
9
10
- Space Complexity:
11
- -
10
+ Space Complexity: O(n)
11
+ - ์ต์
์ ๊ฒฝ์ฐ ๋ชจ๋ ๊ตฌ๊ฐ์ด ๊ฒน์น์ง ์์ n๊ฐ์ ๊ตฌ๊ฐ์ ์ ์ฅํด์ผ ํจ
12
12
13
13
ํ์ด๋ฐฉ๋ฒ:
14
- 1.
14
+ 1. merged ๋ฐฐ์ด์ intervals์ ์ฒซ ๋ฒ์งธ ๊ตฌ๊ฐ์ผ๋ก ์ด๊ธฐํ
15
+ 2. intervals์ ๋ ๋ฒ์งธ ๊ตฌ๊ฐ๋ถํฐ ์ํํ๋ฉด์:
16
+ - ํ์ฌ ๊ตฌ๊ฐ์ ์์์ ์ด merged ๋ฐฐ์ด์ ๋ง์ง๋ง ๊ตฌ๊ฐ์ ๋์ ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด ๋ณํฉ
17
+ - ๋ณํฉํ ๋๋ ๋์ ์ ๋ ๊ตฌ๊ฐ์ ๋์ ์ค ๋ ํฐ ๊ฐ์ผ๋ก ์ค์
18
+ 3. ํ์ฌ ๊ตฌ๊ฐ์ด merged์ ๋ง์ง๋ง ๊ตฌ๊ฐ๊ณผ ๊ฒน์น์ง ์์ผ๋ฉด ๊ทธ๋๋ก merged์ ์ถ๊ฐ
19
+ 4. 2-3์ ๋ฐ๋ณตํ์ฌ ๋ชจ๋ ๊ตฌ๊ฐ์ ์ฒ๋ฆฌํจ
15
20
"""
21
+ class Solution :
22
+ def merge (self , intervals : List [List [int ]]) -> List [List [int ]]:
23
+ if not intervals :
24
+ return []
25
+
26
+ merged = [intervals [0 ]]
27
+
28
+ for interval in intervals [1 :]:
29
+ if interval [0 ] <= merged [- 1 ][1 ]:
30
+ merged [- 1 ][1 ] = max (merged [- 1 ][1 ], interval [1 ])
31
+
32
+ else :
33
+ merged .append (interval )
34
+
35
+ return merged
You canโt perform that action at this time.
0 commit comments