Skip to content

Commit 95c1494

Browse files
refactor 119
1 parent 3d1d9c9 commit 95c1494

File tree

1 file changed

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

1 file changed

+32
-33
lines changed
Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.fishercoder.solutions;
22

3-
43
import java.util.ArrayList;
54
import java.util.List;
65

@@ -17,40 +16,40 @@ Could you optimize your algorithm to use only O(k) extra space?
1716

1817
public class _119 {
1918

20-
public static class Solution1 {
21-
public List<Integer> getRow(int rowIndex) {
22-
if (rowIndex < 0) {
23-
return new ArrayList();
24-
}
25-
List<List<Integer>> result = new ArrayList();
26-
List<Integer> row = new ArrayList();
27-
row.add(1);
28-
result.add(row);
29-
for (int i = 1; i <= rowIndex; i++) {
30-
List<Integer> newRow = new ArrayList();
31-
newRow.add(1);
32-
List<Integer> lastRow = result.get(i - 1);
33-
for (int j = 1; j < lastRow.size(); j++) {
34-
newRow.add(lastRow.get(j - 1) + lastRow.get(j));
35-
}
36-
newRow.add(1);
37-
result.add(newRow);
38-
}
39-
return result.get(result.size() - 1);
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));
4034
}
35+
newRow.add(1);
36+
result.add(newRow);
37+
}
38+
return result.get(result.size() - 1);
4139
}
42-
43-
public static class SolutionOkSpace {
44-
public List<Integer> getRow(int rowIndex) {
45-
List<Integer> row = new ArrayList<>();
46-
for (int i = 0; i < rowIndex + 1; 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));
50-
}
51-
}
52-
return row;
40+
}
41+
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 + 1; 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));
5350
}
51+
}
52+
return row;
5453
}
55-
54+
}
5655
}

0 commit comments

Comments
 (0)