day108(3.9)——leetcode面试经典150

120. 三角形最小路径和

120. 三角形最小路径和

题目:

题解:

java 复制代码
class Solution {
    public int minimumTotal(List<List<Integer>> triangle) {
        int[][] dp = new int[triangle.size()+1][triangle.size()+1];
        dp[0][0]=triangle.get(0).get(0);
        //从最后一行开始递推
        for(int i=triangle.size()-1;i>=0;i--) {
            for(int j=0;j<=i;j++) {
                //当前行的最小路径和就是下一行的j,j+1两个位置的最小值+当前值
                dp[i][j]=Math.min(dp[i+1][j],dp[i+1][j+1])+triangle.get(i).get(j);
            }
        }
        return dp[0][0];                    
    }
}

优化空间版:

java 复制代码
class Solution {
    public int minimumTotal(List<List<Integer>> triangle) {
        // int[][] dp = new int[triangle.size()+1][triangle.size()+1];
        int[] dp = new int[triangle.size()+1];
        //从最后一行开始递推
        for(int i=triangle.size()-1;i>=0;i--) {
            for(int j=0;j<=i;j++) {
                //当前行的最小路径和就是下一行的j,j+1两个位置的最小值+当前值
                dp[j]=Math.min(dp[j],dp[j+1])+triangle.get(i).get(j);
            }
        }
        return dp[0];                    
    }
}
相关推荐
小肝一下14 小时前
每日两道力扣,day2
c++·算法·leetcode·职场和发展
米粒115 小时前
力扣算法刷题 Day 31 (贪心总结)
算法·leetcode·职场和发展
AlenTech16 小时前
647. 回文子串 - 力扣(LeetCode)
算法·leetcode·职场和发展
Redemption17 小时前
嵌软面试每日一阅----Linux驱动之字符设备驱动
linux·面试·职场和发展
东离与糖宝17 小时前
HashMap从入门到源码:Java7/8/21区别+面试陷阱+高频追问合集
java·人工智能·面试
wen__xvn18 小时前
力扣洛谷模拟题刷题2
算法·leetcode·职场和发展
酉鬼女又兒18 小时前
零基础快速入门前端ES6 核心特性详解与蓝桥杯 Web 考点实践(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·职场和发展·蓝桥杯·es6·css3·html5
庞轩px19 小时前
模拟面试回答第十七问:垃圾判定算法
jvm·面试·循环引用·引用计数法·垃圾判定算法·可达性分析法·gcroots
wfbcg19 小时前
每日算法练习:LeetCode 167. 两数之和 II - 输入有序数组 ✅
算法·leetcode·职场和发展