动态规划,维护一个N的一维数组即可,空间复杂度O(N)。

triangle

http://www.nowcoder.com/questionTerminal/2b7995aa4f7949d99674d975489cb7da

标题

标题

标题
标题
加粗 斜体

标题


加粗 斜体

代码块

行内代码
import java.util.*;
public class Solution {
public int minimumTotal(ArrayList<ArrayList<integer>> triangle) {
int size = triangle.size();
if(size==0) return 0;
int[] dp = new int[size];
dp[0] = triangle.get(0).get(0);
for(int i=1;i<size;i++){
for(int j=i;j>=0;j--){
if(j==i){dp[j] = triangle.get(i).get(j)+dp[j-1];}
else if(j==0) {dp[j] = triangle.get(i).get(j)+dp[j];}
else {dp[j] = triangle.get(i).get(j)+Math.min(dp[j],dp[j-1]);}
}
}
int res = dp[0];
for(int i=1;i<size;i++){
if(dp[i]<res) res = dp[i];
}
return res;
}
}</integer>

全部评论

相关推荐

点赞 评论 收藏
分享
04-25 18:13
五邑大学 Java
无面如何呢:用心包装一下自己的实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务