Skip to content

Commit 59bdb74

Browse files
refactor 119
1 parent 483e1a5 commit 59bdb74

File tree

1 file changed

+33
-42
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+33
-42
lines changed

src/main/java/com/fishercoder/solutions/_119.java

Lines changed: 33 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,53 +3,44 @@
33
import java.util.ArrayList;
44
import java.util.List;
55

6-
/**
7-
* 119. Pascal's Triangle II
8-
* Given an index k, return the kth row of the Pascal's triangle.
9-
10-
For example, given k = 3,
11-
Return [1,3,3,1].
12-
13-
Note:
14-
Could you optimize your algorithm to use only O(k) extra space?
15-
*/
16-
176
public class _119 {
187

19-
public static class Solution1 {
20-
public List<Integer> getRow(int rowIndex) {
21-
if (rowIndex < 0) {
22-
return new ArrayList();
23-
}
24-
List<List<Integer>> result = new ArrayList();
25-
List<Integer> row = new ArrayList();
26-
row.add(1);
27-
result.add(row);
28-
for (int i = 1; i <= rowIndex; i++) {
29-
List<Integer> newRow = new ArrayList();
30-
newRow.add(1);
31-
List<Integer> lastRow = result.get(i - 1);
32-
for (int j = 1; j < lastRow.size(); j++) {
33-
newRow.add(lastRow.get(j - 1) + lastRow.get(j));
8+
public static class Solution1 {
9+
public List<Integer> getRow(int rowIndex) {
10+
if (rowIndex < 0) {
11+
return new ArrayList();
12+
}
13+
List<List<Integer>> result = new ArrayList();
14+
List<Integer> row = new ArrayList();
15+
row.add(1);
16+
result.add(row);
17+
for (int i = 1; i <= rowIndex; i++) {
18+
List<Integer> newRow = new ArrayList();
19+
newRow.add(1);
20+
List<Integer> lastRow = result.get(i - 1);
21+
for (int j = 1; j < lastRow.size(); j++) {
22+
newRow.add(lastRow.get(j - 1) + lastRow.get(j));
23+
}
24+
newRow.add(1);
25+
result.add(newRow);
26+
}
27+
return result.get(result.size() - 1);
3428
}
35-
newRow.add(1);
36-
result.add(newRow);
37-
}
38-
return result.get(result.size() - 1);
3929
}
40-
}
4130

42-
public static class Solution2 {
43-
/** O(k) space */
44-
public List<Integer> getRow(int rowIndex) {
45-
List<Integer> row = new ArrayList<>();
46-
for (int i = 0; i <= rowIndex; i++) {
47-
row.add(0, 1);
48-
for (int j = 1; j < row.size() - 1; j++) {
49-
row.set(j, row.get(j) + row.get(j + 1));
31+
public static class Solution2 {
32+
/**
33+
* O(k) space
34+
*/
35+
public List<Integer> getRow(int rowIndex) {
36+
List<Integer> row = new ArrayList<>();
37+
for (int i = 0; i <= rowIndex; i++) {
38+
row.add(0, 1);
39+
for (int j = 1; j < row.size() - 1; j++) {
40+
row.set(j, row.get(j) + row.get(j + 1));
41+
}
42+
}
43+
return row;
5044
}
51-
}
52-
return row;
5345
}
54-
}
5546
}

0 commit comments

Comments
 (0)