碰到三角形的动态规划要从下往上来,只用上一层的信息,可以将二维数据降维反复用。 注:动态规划抠好边界,dp数组和原数组
class Solution {
public:
int minimumTotal(vector
<vector
<int>>& triangle
) {
int n
=triangle
.size();
vector
<int> dp(n
+1,0);
for(int i
=n
-1;i
>=0;i
--) {
for(int j
=0;j
<i
+1;j
++) {
dp
[j
]=min(dp
[j
],dp
[j
+1])+triangle
[i
][j
];
}
}
return dp
[0];
}
};
转载请注明原文地址:https://ipadbbs.8miu.com/read-14328.html