Skip to content

Commit 10277cb

Browse files
authored
feat: update solutions to lc problem: No.1039 (#4755)
1 parent 2a02977 commit 10277cb

File tree

5 files changed

+15
-24
lines changed

5 files changed

+15
-24
lines changed

solution/1000-1099/1039.Minimum Score Triangulation of Polygon/README.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,8 @@ class Solution {
148148
public:
149149
int minScoreTriangulation(vector<int>& values) {
150150
int n = values.size();
151-
int f[n][n];
152-
memset(f, 0, sizeof(f));
153-
function<int(int, int)> dfs = [&](int i, int j) -> int {
151+
vector<vector<int>> f(n, vector<int>(n));
152+
auto dfs = [&](this auto&& dfs, int i, int j) -> int {
154153
if (i + 1 == j) {
155154
return 0;
156155
}
@@ -302,8 +301,7 @@ class Solution {
302301
public:
303302
int minScoreTriangulation(vector<int>& values) {
304303
int n = values.size();
305-
int f[n][n];
306-
memset(f, 0, sizeof(f));
304+
vector<vector<int>> f(n, vector<int>(n));
307305
for (int i = n - 3; i >= 0; --i) {
308306
for (int j = i + 2; j < n; ++j) {
309307
f[i][j] = 1 << 30;
@@ -413,8 +411,7 @@ class Solution {
413411
public:
414412
int minScoreTriangulation(vector<int>& values) {
415413
int n = values.size();
416-
int f[n][n];
417-
memset(f, 0, sizeof(f));
414+
vector<vector<int>> f(n, vector<int>(n));
418415
for (int l = 3; l <= n; ++l) {
419416
for (int i = 0; i + l - 1 < n; ++i) {
420417
int j = i + l - 1;

solution/1000-1099/1039.Minimum Score Triangulation of Polygon/README_EN.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,8 @@ class Solution {
152152
public:
153153
int minScoreTriangulation(vector<int>& values) {
154154
int n = values.size();
155-
int f[n][n];
156-
memset(f, 0, sizeof(f));
157-
function<int(int, int)> dfs = [&](int i, int j) -> int {
155+
vector<vector<int>> f(n, vector<int>(n));
156+
auto dfs = [&](this auto&& dfs, int i, int j) -> int {
158157
if (i + 1 == j) {
159158
return 0;
160159
}
@@ -306,8 +305,7 @@ class Solution {
306305
public:
307306
int minScoreTriangulation(vector<int>& values) {
308307
int n = values.size();
309-
int f[n][n];
310-
memset(f, 0, sizeof(f));
308+
vector<vector<int>> f(n, vector<int>(n));
311309
for (int i = n - 3; i >= 0; --i) {
312310
for (int j = i + 2; j < n; ++j) {
313311
f[i][j] = 1 << 30;
@@ -417,8 +415,7 @@ class Solution {
417415
public:
418416
int minScoreTriangulation(vector<int>& values) {
419417
int n = values.size();
420-
int f[n][n];
421-
memset(f, 0, sizeof(f));
418+
vector<vector<int>> f(n, vector<int>(n));
422419
for (int l = 3; l <= n; ++l) {
423420
for (int i = 0; i + l - 1 < n; ++i) {
424421
int j = i + l - 1;

solution/1000-1099/1039.Minimum Score Triangulation of Polygon/Solution.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ class Solution {
22
public:
33
int minScoreTriangulation(vector<int>& values) {
44
int n = values.size();
5-
int f[n][n];
6-
memset(f, 0, sizeof(f));
7-
function<int(int, int)> dfs = [&](int i, int j) -> int {
5+
vector<vector<int>> f(n, vector<int>(n));
6+
auto dfs = [&](this auto&& dfs, int i, int j) -> int {
87
if (i + 1 == j) {
98
return 0;
109
}
@@ -19,4 +18,4 @@ class Solution {
1918
};
2019
return dfs(0, n - 1);
2120
}
22-
};
21+
};

solution/1000-1099/1039.Minimum Score Triangulation of Polygon/Solution2.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ class Solution {
22
public:
33
int minScoreTriangulation(vector<int>& values) {
44
int n = values.size();
5-
int f[n][n];
6-
memset(f, 0, sizeof(f));
5+
vector<vector<int>> f(n, vector<int>(n));
76
for (int i = n - 3; i >= 0; --i) {
87
for (int j = i + 2; j < n; ++j) {
98
f[i][j] = 1 << 30;
@@ -14,4 +13,4 @@ class Solution {
1413
}
1514
return f[0][n - 1];
1615
}
17-
};
16+
};

solution/1000-1099/1039.Minimum Score Triangulation of Polygon/Solution3.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ class Solution {
22
public:
33
int minScoreTriangulation(vector<int>& values) {
44
int n = values.size();
5-
int f[n][n];
6-
memset(f, 0, sizeof(f));
5+
vector<vector<int>> f(n, vector<int>(n));
76
for (int l = 3; l <= n; ++l) {
87
for (int i = 0; i + l - 1 < n; ++i) {
98
int j = i + l - 1;
@@ -15,4 +14,4 @@ class Solution {
1514
}
1615
return f[0][n - 1];
1716
}
18-
};
17+
};

0 commit comments

Comments
 (0)