美文网首页
LeetCode 120. Triangle

LeetCode 120. Triangle

作者: 敲一手烂代码 | 来源:发表于2018-06-01 08:35 被阅读16次

    Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.

    For example, given the following triangle

    [
    [2],
    [3,4],
    [6,5,7],
    [4,1,8,3]
    ]
    The minimum path sum from top to bottom is 11 (i.e., 2 + 3 + 5 + 1 = 11).

    class Solution {
        public int minimumTotal(List<List<Integer>> triangle) {
            List<Integer> lastRowList = triangle.get(triangle.size() - 1);
            int[] dp = new int[lastRowList.size() + 1];
            for (int i = triangle.size() - 1; i >= 0; i--) {
                for (int j = 0; j < triangle.get(i).size(); j++) {
                    dp[j] = Math.min(dp[j], dp[j + 1]) + triangle.get(i).get(j);
                }
            }
            return dp[0];
        }
    }
    

    相关文章

      网友评论

          本文标题:LeetCode 120. Triangle

          本文链接:https://www.haomeiwen.com/subject/jylhsftx.html