Skip to content

Commit 8aa3e1c

Browse files
Solve : meeting rooms ii
1 parent a371a2e commit 8aa3e1c

File tree

3 files changed

+37
-0
lines changed

3 files changed

+37
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution:
2+
def levelOrder(self, root):
3+
result = []
4+
def dfs(node, level):
5+
if not node:
6+
return
7+
if len(result) == level:
8+
result.append([])
9+
result[level].append(node.val)
10+
dfs(node.left, level + 1)
11+
dfs(node.right, level + 1)
12+
dfs(root, 0)
13+
return result
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution:
2+
def rob(self, nums):
3+
if len(nums) == 1:
4+
return nums[0]
5+
def rob_linear(houses):
6+
prev = curr = 0
7+
for num in houses:
8+
prev, curr = curr, max(curr, prev + num)
9+
return curr
10+
return max(rob_linear(nums[:-1]), rob_linear(nums[1:]))
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution:
2+
def minMeetingRooms(self, intervals):
3+
if not intervals:
4+
return 0
5+
starts = sorted(i[0] for i in intervals)
6+
ends = sorted(i[1] for i in intervals)
7+
s = e = rooms = 0
8+
while s < len(intervals):
9+
if starts[s] < ends[e]:
10+
rooms += 1
11+
else:
12+
e += 1
13+
s += 1
14+
return rooms

0 commit comments

Comments
 (0)