smilevchy's blog

Life & Study & Chasing

Leetcode_Triangle

原题链接: https://oj.leetcode.com/problems/triangle/

public int minimumTotal(List<List<Integer>> triangle) {
    if (triangle == null) return 0;

    int size = triangle.size();
    int[] res = new int[triangle.get(size - 1).size()];

    for (int i = 0, s = triangle.get(size - 1).size(); i < s; i++) {
        res[i] = triangle.get(size - 1).get(i);
    }

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

    return res[0];
}

algorithm

« Leetcode_Word Break Leetcode_Remove Duplicates from Sorted List »