【每日一題-leetcode】 120.三角形最小路徑和

120.三角形最小路徑和

  1. 三角形最小路徑和

難度中等387

給定一個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。

例如,給定三角形:

[
     [2],
    [3,4],
   [6,5,7],
  [4,1,8,3]
]

自頂向下的最小路徑和爲 11(即,2 + 3 + 5 + 1 = 11)。

dp

//自底向上
public int minimumTotal(List<List<Integer>> triangle) {
    int [] dp = new int [triangle.size()+1];
    for(int level=triangle.size()-1;level>=0;level--){
        for(int i=0;i<triangle.get(level).size();i++){
            dp[i] = Math.min(dp[i],dp[i+1])+triangle.get(level).get(i);
        }
    }
    return dp[0];
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章