Skip to content

Commit 2b88ff7

Browse files
committed
feat: update solutions to lc problem: No.0118
No.0118.Pascal's Triangle
1 parent 1d23987 commit 2b88ff7

File tree

8 files changed

+92
-119
lines changed

8 files changed

+92
-119
lines changed

solution/0100-0199/0118.Pascal's Triangle/README.md

+23-32
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,12 @@
5151
```python
5252
class Solution:
5353
def generate(self, numRows: int) -> List[List[int]]:
54-
res = []
54+
ans = []
5555
for i in range(numRows):
56-
t = [1 if j == 0 or j == i else 0 for j in range(i + 1)]
57-
for j in range(1, i):
58-
t[j] = res[i - 1][j - 1] + res[i - 1][j]
59-
res.append(t)
60-
return res
56+
t = [1 if j == 0 or j == i else ans[-1][j] + ans[-1][j - 1]
57+
for j in range(i + 1)]
58+
ans.append(t)
59+
return ans
6160
```
6261

6362
### **Java**
@@ -67,20 +66,16 @@ class Solution:
6766
```java
6867
class Solution {
6968
public List<List<Integer>> generate(int numRows) {
70-
List<List<Integer>> res = new ArrayList<>();
69+
List<List<Integer>> ans = new ArrayList<>();
7170
for (int i = 0; i < numRows; ++i) {
7271
List<Integer> t = new ArrayList<>();
7372
for (int j = 0; j < i + 1; ++j) {
74-
boolean firstOrLast = j == 0 || j == i;
75-
t.add(firstOrLast ? 1 : 0);
73+
int v = j == 0 || j == i ? 1 : ans.get(i - 1).get(j) + ans.get(i - 1).get(j - 1);
74+
t.add(v);
7675
}
77-
for (int j = 1; j < i; ++j) {
78-
int val = res.get(i - 1).get(j - 1) + res.get(i - 1).get(j);
79-
t.set(j, val);
80-
}
81-
res.add(t);
76+
ans.add(t);
8277
}
83-
return res;
78+
return ans;
8479
}
8580
}
8681
```
@@ -110,17 +105,14 @@ function generate(numRows: number): number[][] {
110105
class Solution {
111106
public:
112107
vector<vector<int>> generate(int numRows) {
113-
vector<vector<int>> res;
114-
for (int i = 0; i < numRows; ++i) {
115-
vector<int> t(i + 1);
116-
t[0] = 1;
117-
t[i] = 1;
118-
for (int j = 1; j < i; ++j) {
119-
t[j] = res[i - 1][j - 1] + res[i - 1][j];
120-
}
121-
res.push_back(t);
108+
vector<vector<int>> ans;
109+
for (int i = 0; i < numRows; ++i)
110+
{
111+
vector<int> t(i + 1, 1);
112+
for (int j = 1; j < i; ++j) t[j] = ans[i - 1][j] + ans[i - 1][j - 1];
113+
ans.push_back(t);
122114
}
123-
return res;
115+
return ans;
124116
}
125117
};
126118
```
@@ -129,17 +121,16 @@ public:
129121
130122
```go
131123
func generate(numRows int) [][]int {
132-
res := make([][]int, numRows)
133-
for i := 0; i < numRows; i++ {
124+
ans := make([][]int, numRows)
125+
for i := range ans {
134126
t := make([]int, i+1)
135-
t[0] = 1
136-
t[i] = 1
127+
t[0], t[i] = 1, 1
137128
for j := 1; j < i; j++ {
138-
t[j] = res[i-1][j-1] + res[i-1][j]
129+
t[j] = ans[i-1][j] + ans[i-1][j-1]
139130
}
140-
res[i] = t
131+
ans[i] = t
141132
}
142-
return res
133+
return ans
143134
}
144135
```
145136

solution/0100-0199/0118.Pascal's Triangle/README_EN.md

+23-32
Original file line numberDiff line numberDiff line change
@@ -32,34 +32,29 @@
3232
```python
3333
class Solution:
3434
def generate(self, numRows: int) -> List[List[int]]:
35-
res = []
35+
ans = []
3636
for i in range(numRows):
37-
t = [1 if j == 0 or j == i else 0 for j in range(i + 1)]
38-
for j in range(1, i):
39-
t[j] = res[i - 1][j - 1] + res[i - 1][j]
40-
res.append(t)
41-
return res
37+
t = [1 if j == 0 or j == i else ans[-1][j] + ans[-1][j - 1]
38+
for j in range(i + 1)]
39+
ans.append(t)
40+
return ans
4241
```
4342

4443
### **Java**
4544

4645
```java
4746
class Solution {
4847
public List<List<Integer>> generate(int numRows) {
49-
List<List<Integer>> res = new ArrayList<>();
48+
List<List<Integer>> ans = new ArrayList<>();
5049
for (int i = 0; i < numRows; ++i) {
5150
List<Integer> t = new ArrayList<>();
5251
for (int j = 0; j < i + 1; ++j) {
53-
boolean firstOrLast = j == 0 || j == i;
54-
t.add(firstOrLast ? 1 : 0);
52+
int v = j == 0 || j == i ? 1 : ans.get(i - 1).get(j) + ans.get(i - 1).get(j - 1);
53+
t.add(v);
5554
}
56-
for (int j = 1; j < i; ++j) {
57-
int val = res.get(i - 1).get(j - 1) + res.get(i - 1).get(j);
58-
t.set(j, val);
59-
}
60-
res.add(t);
55+
ans.add(t);
6156
}
62-
return res;
57+
return ans;
6358
}
6459
}
6560
```
@@ -89,17 +84,14 @@ function generate(numRows: number): number[][] {
8984
class Solution {
9085
public:
9186
vector<vector<int>> generate(int numRows) {
92-
vector<vector<int>> res;
93-
for (int i = 0; i < numRows; ++i) {
94-
vector<int> t(i + 1);
95-
t[0] = 1;
96-
t[i] = 1;
97-
for (int j = 1; j < i; ++j) {
98-
t[j] = res[i - 1][j - 1] + res[i - 1][j];
99-
}
100-
res.push_back(t);
87+
vector<vector<int>> ans;
88+
for (int i = 0; i < numRows; ++i)
89+
{
90+
vector<int> t(i + 1, 1);
91+
for (int j = 1; j < i; ++j) t[j] = ans[i - 1][j] + ans[i - 1][j - 1];
92+
ans.push_back(t);
10193
}
102-
return res;
94+
return ans;
10395
}
10496
};
10597
```
@@ -108,17 +100,16 @@ public:
108100
109101
```go
110102
func generate(numRows int) [][]int {
111-
res := make([][]int, numRows)
112-
for i := 0; i < numRows; i++ {
103+
ans := make([][]int, numRows)
104+
for i := range ans {
113105
t := make([]int, i+1)
114-
t[0] = 1
115-
t[i] = 1
106+
t[0], t[i] = 1, 1
116107
for j := 1; j < i; j++ {
117-
t[j] = res[i-1][j-1] + res[i-1][j]
108+
t[j] = ans[i-1][j] + ans[i-1][j-1]
118109
}
119-
res[i] = t
110+
ans[i] = t
120111
}
121-
return res
112+
return ans
122113
}
123114
```
124115

Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
class Solution {
2-
public:
3-
vector<vector<int>> generate(int numRows) {
4-
vector<vector<int>> res;
5-
for (int i = 0; i < numRows; ++i) {
6-
vector<int> t(i + 1);
7-
t[0] = 1;
8-
t[i] = 1;
9-
for (int j = 1; j < i; ++j) {
10-
t[j] = res[i - 1][j - 1] + res[i - 1][j];
11-
}
12-
res.push_back(t);
13-
}
14-
return res;
15-
}
1+
class Solution {
2+
public:
3+
vector<vector<int>> generate(int numRows) {
4+
vector<vector<int>> ans;
5+
for (int i = 0; i < numRows; ++i)
6+
{
7+
vector<int> t(i + 1, 1);
8+
for (int j = 1; j < i; ++j) t[j] = ans[i - 1][j] + ans[i - 1][j - 1];
9+
ans.push_back(t);
10+
}
11+
return ans;
12+
}
1613
};
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
func generate(numRows int) [][]int {
2-
res := make([][]int, numRows)
3-
for i := 0; i < numRows; i++ {
4-
t := make([]int, i+1)
5-
t[0] = 1
6-
t[i] = 1
7-
for j := 1; j < i; j++ {
8-
t[j] = res[i-1][j-1] + res[i-1][j]
9-
}
10-
res[i] = t
11-
}
12-
return res
1+
func generate(numRows int) [][]int {
2+
ans := make([][]int, numRows)
3+
for i := range ans {
4+
t := make([]int, i+1)
5+
t[0], t[i] = 1, 1
6+
for j := 1; j < i; j++ {
7+
t[j] = ans[i-1][j] + ans[i-1][j-1]
8+
}
9+
ans[i] = t
10+
}
11+
return ans
1312
}
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
1-
class Solution {
2-
public List<List<Integer>> generate(int numRows) {
3-
List<List<Integer>> res = new ArrayList<>();
4-
for (int i = 0; i < numRows; ++i) {
5-
List<Integer> t = new ArrayList<>();
6-
for (int j = 0; j < i + 1; ++j) {
7-
boolean firstOrLast = j == 0 || j == i;
8-
t.add(firstOrLast ? 1 : 0);
9-
}
10-
for (int j = 1; j < i; ++j) {
11-
int val = res.get(i - 1).get(j - 1) + res.get(i - 1).get(j);
12-
t.set(j, val);
13-
}
14-
res.add(t);
15-
}
16-
return res;
17-
}
1+
class Solution {
2+
public List<List<Integer>> generate(int numRows) {
3+
List<List<Integer>> ans = new ArrayList<>();
4+
for (int i = 0; i < numRows; ++i) {
5+
List<Integer> t = new ArrayList<>();
6+
for (int j = 0; j < i + 1; ++j) {
7+
int v = j == 0 || j == i ? 1 : ans.get(i - 1).get(j) + ans.get(i - 1).get(j - 1);
8+
t.add(v);
9+
}
10+
ans.add(t);
11+
}
12+
return ans;
13+
}
1814
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
class Solution:
2-
def generate(self, numRows: int) -> List[List[int]]:
3-
res = []
4-
for i in range(numRows):
5-
t = [1 if j == 0 or j == i else 0 for j in range(i + 1)]
6-
for j in range(1, i):
7-
t[j] = res[i - 1][j - 1] + res[i - 1][j]
8-
res.append(t)
9-
return res
1+
class Solution:
2+
def generate(self, numRows: int) -> List[List[int]]:
3+
ans = []
4+
for i in range(numRows):
5+
t = [1 if j == 0 or j == i else ans[-1][j] + ans[-1][j - 1]
6+
for j in range(i + 1)]
7+
ans.append(t)
8+
return ans

solution/0300-0399/0309.Best Time to Buy and Sell Stock with Cooldown/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class Solution {
100100

101101
### **TypeScript**
102102

103-
```
103+
```ts
104104
function maxProfit(prices: number[]): number {
105105
const n = prices.length;
106106
let dp = Array.from({ length: n }, v => new Array(3).fill(0));

solution/0300-0399/0309.Best Time to Buy and Sell Stock with Cooldown/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ class Solution {
7575

7676
### **TypeScript**
7777

78-
```
78+
```ts
7979
function maxProfit(prices: number[]): number {
8080
const n = prices.length;
8181
let dp = Array.from({ length: n }, v => new Array(3).fill(0));

0 commit comments

Comments
 (0)