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 44- intervals[i].length == 2
55- 0 <= starti <= endi <= 10^4
66
7- Time Complexity:
8- -
7+ Time Complexity: O(nlogn)
8+ - ์ ๋ ฌ์ nlogn, ์ํ์ n์ด ํ์ํ๋ฏ๋ก ์ ์ฒด๋ O(nlogn)
99
10- Space Complexity:
11- -
10+ Space Complexity: O(n)
11+ - ์ต์
์ ๊ฒฝ์ฐ ๋ชจ๋ ๊ตฌ๊ฐ์ด ๊ฒน์น์ง ์์ n๊ฐ์ ๊ตฌ๊ฐ์ ์ ์ฅํด์ผ ํจ
1212
1313ํ์ด๋ฐฉ๋ฒ:
14- 1.
14+ 1. merged ๋ฐฐ์ด์ intervals์ ์ฒซ ๋ฒ์งธ ๊ตฌ๊ฐ์ผ๋ก ์ด๊ธฐํ
15+ 2. intervals์ ๋ ๋ฒ์งธ ๊ตฌ๊ฐ๋ถํฐ ์ํํ๋ฉด์:
16+ - ํ์ฌ ๊ตฌ๊ฐ์ ์์์ ์ด merged ๋ฐฐ์ด์ ๋ง์ง๋ง ๊ตฌ๊ฐ์ ๋์ ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด ๋ณํฉ
17+ - ๋ณํฉํ ๋๋ ๋์ ์ ๋ ๊ตฌ๊ฐ์ ๋์ ์ค ๋ ํฐ ๊ฐ์ผ๋ก ์ค์
18+ 3. ํ์ฌ ๊ตฌ๊ฐ์ด merged์ ๋ง์ง๋ง ๊ตฌ๊ฐ๊ณผ ๊ฒน์น์ง ์์ผ๋ฉด ๊ทธ๋๋ก merged์ ์ถ๊ฐ
19+ 4. 2-3์ ๋ฐ๋ณตํ์ฌ ๋ชจ๋ ๊ตฌ๊ฐ์ ์ฒ๋ฆฌํจ
1520"""
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