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];                    
    }
}
相关推荐
Cosolar1 天前
LlamaIndex 文档解析与分块策略深度解析
人工智能·面试·架构
kyriewen1 天前
我读了一遍 Babel 编译后的 async/await,终于搞懂了它的原理(附 20 行手写实现)
前端·javascript·面试
小欣加油1 天前
leetcode2574 左右元素和的差值
数据结构·c++·算法·leetcode·职场和发展
zzz_23681 天前
【RabbitMQ】面试系列 · 第三期:从线上故障到架构选型
面试·架构·rabbitmq
user73263921004781 天前
借助AI再次理解三次握手和四次挥手
网络协议·面试
千寻girling1 天前
一周没跑步了 ,今日跑步 5KM , 哑铃+健身 20min , 俯卧撑 30 个 ;
数据结构·c++·python·算法·leetcode·职场和发展·线性回归
zzz_23682 天前
【Spring】面试突击系列(六):Spring 工程实践与面试综合
java·spring·面试
牛油果子哥q2 天前
【C++ this指针】C++ this指针深度精讲:this底层本质、存储位置、调用机制、const this指针、空指针调用、面试坑点与工程实战
开发语言·c++·面试
用户47949283569152 天前
盛大集团面经(专升本毕业 9 个月,99%代码靠 AI 写)
面试
Elias不吃糖2 天前
AI Resume Forge:基于 LangGraph 的 AI 简历优化与模拟面试平台
java·人工智能·面试·agent开发