zoukankan      html  css  js  c++  java
  • LeetCode

    题目:

    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).

    Note:
    Bonus point if you are able to do this using only O(n) extra space, where n is the total number of rows in the triangle.

    思路:

    1) 递归,代码很简单,但超时了

    package recursion;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Triangle {
    
        public int minimumTotal(List<List<Integer>> triangle) {
            int m = triangle.size();
            return minPath(triangle, 0, 0, m, 0);
        }
        
        private int minPath(List<List<Integer>> triangle, int row, int col, int m, int prevTotal) {
            if (row >= m) return prevTotal;
            prevTotal += triangle.get(row).get(col);
            return Math.min(minPath(triangle, row + 1, col, m, prevTotal), minPath(triangle, row + 1, col + 1, m, prevTotal));
        }
    
    }

    2) 从下往上进行扫描

    package recursion;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Triangle {
    
        public int minimumTotal(List<List<Integer>> triangle) {
            int m = triangle.size();
            int n = triangle.get(m - 1).size();
            int[] res = new int[n + 1];
            for (int i = m - 1; i >= 0; --i) {
                for (int j = 0; j < triangle.get(i).size(); ++j) {
                    res[j] = Math.min(res[j], res[j + 1]) + triangle.get(i).get(j);
                }
            }
            return res[0];
        }
    
    }
  • 相关阅读:
    反编译
    字符编码集格式
    BZOJ 1032 [JSOI2007]祖码Zuma
    2015-7-21 模板练习
    2015-7-20 模板练习
    BZOJ 1028 [JSOI2007]麻将
    BZOJ 1027 [JSOI2007]合金
    BZOJ 1026 [SCOI2009]windy数
    BZOJ 1025 [SCOI2009]游戏
    COJ 2024 仙境传奇(五)——一个天才的觉醒 素数筛
  • 原文地址:https://www.cnblogs.com/null00/p/5130298.html
Copyright © 2011-2022 走看看