Skip to content

Commit 42fbccc

Browse files
committed
Add Week 14 Solutions
1 parent 743028c commit 42fbccc

File tree

3 files changed

+77
-0
lines changed

3 files changed

+77
-0
lines changed

set-matrix-zeroes/bky373.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// time: O(m*n)
2+
// space: O(m+n)
3+
class Solution {
4+
5+
public void setZeroes(int[][] matrix) {
6+
int m = matrix.length;
7+
int n = matrix[0].length;
8+
9+
int[] rows = new int[m];
10+
int[] cols = new int[n];
11+
12+
for (int i = 0; i < m; i++) {
13+
for (int j = 0; j < n; j++) {
14+
if (matrix[i][j] == 0) {
15+
rows[i] = 1;
16+
cols[j] = 1;
17+
}
18+
}
19+
}
20+
21+
for (int i = 0; i < m; i++) {
22+
for (int j = 0; j < n; j++) {
23+
if (rows[i] == 1 || cols[j] == 1) {
24+
matrix[i][j] = 0;
25+
}
26+
}
27+
}
28+
}
29+
}

spiral-matrix/bky373.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// time: O(m*n)
2+
// space: O(m*n)
3+
class Solution {
4+
5+
public List<Integer> spiralOrder(int[][] matrix) {
6+
int m = matrix.length;
7+
int n = matrix[0].length;
8+
int dir = 1;
9+
int i = 0;
10+
int j = -1;
11+
12+
List<Integer> output = new ArrayList<>();
13+
14+
while (m * n > 0) {
15+
for (int k = 0; k < n; k++) {
16+
j += dir;
17+
output.add(matrix[i][j]);
18+
}
19+
20+
m--;
21+
22+
for (int k = 0; k < m; k++) {
23+
i += dir;
24+
output.add(matrix[i][j]);
25+
}
26+
27+
n--;
28+
dir *= -1;
29+
}
30+
31+
return output;
32+
}
33+
}

sum-of-two-integers/bky373.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// time: O(1)
2+
// space: O(1)
3+
class Solution {
4+
5+
public int getSum(int a, int b) {
6+
while (b != 0) {
7+
int ans = a ^ b;
8+
int carry = (a & b) << 1;
9+
a = ans;
10+
b = carry;
11+
}
12+
13+
return a;
14+
}
15+
}

0 commit comments

Comments
 (0)