Skip to content

Commit bfaccf5

Browse files
committed
[Leo] 13th Week solutions (3,4,5)
1 parent 475c43c commit bfaccf5

File tree

3 files changed

+49
-0
lines changed

3 files changed

+49
-0
lines changed

meeting-rooms-ii/Leo.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution:
2+
def minMeetingRooms(self, intervals: List[List[int]]) -> int:
3+
if not intervals:
4+
return 0
5+
6+
rooms_needed, end_pointer = 0, 0
7+
8+
start_times = sorted([interval[0] for interval in intervals])
9+
end_times = sorted([interval[1] for interval in intervals])
10+
11+
for i in range(len(start_times)):
12+
if start_times[i] >= end_times[end_pointer]:
13+
end_pointer += 1
14+
else:
15+
rooms_needed += 1
16+
17+
return rooms_needed
18+
19+
## TC: O(nlogn), SC: O(n)

non-overlapping-intervals/Leo.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution:
2+
def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:
3+
last_end = -math.inf
4+
overlap_count = 0
5+
6+
sorted_intervals = sorted(intervals, key=lambda interval: interval[1])
7+
8+
for start, end in sorted_intervals:
9+
if start >= last_end:
10+
last_end = end
11+
else:
12+
overlap_count += 1
13+
14+
return overlap_count
15+
16+
## TC: O(nlogn), SC: O(n)

rotate-image/Leo.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution:
2+
def rotate(self, matrix: List[List[int]]) -> None:
3+
"""
4+
Do not return anything, modify matrix in-place instead.
5+
"""
6+
matrix.reverse()
7+
8+
n = len(matrix)
9+
10+
for i in range(n):
11+
for j in range(i + 1, n):
12+
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
13+
14+
## TC: O(n^2), SC: O(1)

0 commit comments

Comments
 (0)