班级网站设计,合肥蜀山网站开发,html 手机网站,seo优化思路动态规划
1.先定义dp数组在下标i和下标j时的最小路径和 #xff0c;之后初始化dp数组值dp【0】【0】triangle.get(0).get(0)。再用for循环来遍历数组dp【】的i#xff0c;并赋值每行的下标为0的dp数组。之后再用for循环遍历dp【i】【】的j#xff0c;递推公式来计算dp【i】…动态规划
1.先定义dp数组在下标i和下标j时的最小路径和 之后初始化dp数组值dp【0】【0】triangle.get(0).get(0)。再用for循环来遍历数组dp【】的i并赋值每行的下标为0的dp数组。之后再用for循环遍历dp【i】【】的j递推公式来计算dp【i】【j】Math.min(dp[i-1][j],dp[i-1][j-1])triangle.get(i).get(j)。赋值每行的下标为triangle.get(i).size()-1的dp数组。在定义一个变量来进行接收最小路径和之后再遍历dp数组的最后一行来进行更新接受最小路径的值。
class Solution {public int minimumTotal(ListListInteger triangle) {//定义在下标i和下标j时的最小路劲和int [][] dpnew int [triangle.size()][triangle.size()];//初始化dp数组dp[0][0]triangle.get(0).get(0);//for循环遍历数组dp【】的ifor(int i1;itriangle.size();i){//赋值每行的下标为0的dp数组dp[i][0]dp[i-1][0]triangle.get(i).get(0);//for循环遍历dp【i】【】的jfor(int j1;jtriangle.get(i).size()-1;j){//递推公式来计算dp【】【】dp[i][j]Math.min(dp[i-1][j],dp[i-1][j-1])triangle.get(i).get(j);}//赋值每行的下标为triangle.get(i).size()-1的dp数组dp[i][triangle.get(i).size()-1]dp[i-1][triangle.get(i-1).size()-1]triangle.get(i).get(triangle.get(i).size()-1);}//用来接收最小路径和int minshuInteger.MAX_VALUE;//遍历dp数组的最后一行来找到最小的路径和for(int i0;itriangle.get(triangle.size()-1).size();i){minshuMath.min(dp[triangle.size()-1][i],minshu);}return minshu;}
}