Skip to content

Commit 2c7c2f8

Browse files
authored
Merge pull request #1647 from sora0319/main
[sora0319] Week14 Solutions
2 parents 6679bf9 + d50f125 commit 2c7c2f8

File tree

4 files changed

+95
-0
lines changed

4 files changed

+95
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
class Solution {
2+
public List<List<Integer>> levelOrder(TreeNode root) {
3+
if (root == null) return new ArrayList<>();
4+
5+
List<List<Integer>> output = new ArrayList<>();
6+
Queue<TreeNode> q = new LinkedList<>();
7+
q.offer(root);
8+
9+
while (!q.isEmpty()) {
10+
List<Integer> values = new ArrayList<>();
11+
int size = q.size();
12+
13+
for (int i = 0; i < size; i++) {
14+
TreeNode node = q.poll();
15+
values.add(node.val);
16+
17+
if (node.left != null) q.offer(node.left);
18+
if (node.right != null) q.offer(node.right);
19+
}
20+
21+
output.add(values);
22+
}
23+
24+
return output;
25+
}
26+
}

counting-bits/sora0319.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class Solution {
2+
public int[] countBits(int n) {
3+
int[] bits = new int[n + 1];
4+
int i = 1;
5+
6+
for (int num = 1; num <= n; num++) {
7+
if (i << 1 == num) {
8+
i = num;
9+
}
10+
bits[num] = 1 + bits[num - i];
11+
}
12+
13+
return bits;
14+
}
15+
}

house-robber-ii/sora0319.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
public int rob(int[] nums) {
3+
if (nums.length == 1) return nums[0];
4+
5+
return Math.max(dp(nums, 0, nums.length - 1),
6+
dp(nums, 1, nums.length));
7+
}
8+
9+
private int dp(int[] nums, int start, int end) {
10+
int back = 0;
11+
int curr = 0;
12+
13+
for (int i = start; i < end; i++) {
14+
int temp = curr;
15+
curr = Math.max(back + nums[i], curr);
16+
back = temp;
17+
}
18+
19+
return curr;
20+
}
21+
}

meeting-rooms-ii/sora0319.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
public class Solution {
2+
public int minMeetingRooms(int[][] intervals) {
3+
int n = intervals.length;
4+
int[] starts = new int[n];
5+
int[] ends = new int[n];
6+
7+
for (int i = 0; i < n; i++) {
8+
starts[i] = intervals[i][0];
9+
ends[i] = intervals[i][1];
10+
}
11+
12+
Arrays.sort(starts);
13+
Arrays.sort(ends);
14+
15+
int maxCount = 0;
16+
int count = 0;
17+
int s = 0;
18+
int e = 0;
19+
20+
while (s < n) {
21+
if (starts[s] < ends[e]) {
22+
count++;
23+
maxCount = Math.max(maxCount, count);
24+
s++;
25+
} else {
26+
count--;
27+
e++;
28+
}
29+
}
30+
31+
return maxCount;
32+
}
33+
}

0 commit comments

Comments
 (0)