120. Triangle

找出一个list的最小路径,只能走下或右下:

[
     [2],
    [3,4],
   [6,5,7],
  [4,1,8,3]
] // 2, 3, 5, 1
public int minimumTotal(List<List<Integer>> triangle) {
    int len = triangle.size();
    int[] memo = new int[len + 1];

    for (int i = len - 1; i >= 0; i--) {
        for (int j = 0; j <= i; j++) {
            memo[j] = Math.min(memo[j], memo[j + 1]) + triangle.get(i).get(j);
        }
    }
    return memo[0];
}

results matching ""

    No results matching ""