gpt4 book ai didi

leetcode 1039 Python 解法 vs C++ 解法

转载 作者:行者123 更新时间:2023-11-28 01:21:34 28 4
gpt4 key购买 nike

<分区>

Leetcode 1039

我用python写了一段代码。

class Solution(object):
def minScoreTriangulation(self, A):
self.dp = [[-1]*len(A)]*len(A)
ret = self.calc(A, 0, len(A)-1)
return ret

def calc(self, A, x, y):
if math.ceil(y-x) < 2:
return 0

if self.dp[x][y] != -1:
return self.dp[x][y]

mn = sys.maxint
for i in range(x+1, y):
mn = min(mn, (self.calc(A, x, i) + self.calc(A, i, y) + A[x]*A[y]*A[i]))

self.dp[x][y] = mn
return mn

我也用相同的逻辑编写了一个 C++ 解决方案。

class Solution {
public:
int minScoreTriangulation(vector<int>& A) {
vector<int> row(A.size(), -1);
vector<vector<int>> dp(A.size(), row);

int ret =calc(dp, A, 0, A.size()-1);

return ret;
}

int calc(vector<vector<int>>& dp, vector<int>& A, int x, int y)
{
if ((y-x) < 2)
return 0;

if(dp[x][y] != -1) return dp[x][y];

int mn = INT_MAX;

for( int i=x+1; i<y ; i++)
{
mn = min(mn, calc(dp, A, x, i)+calc(dp, A, i, y)+A[x]*A[y]*A[i]);
}
dp[x][y] =mn;
return mn;
}
};

给我错误答案的 python 解决方案。请解释一下我的 python 解决方案有什么问题。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com