题解 | #最小三角路径和#

最小三角路径和

https://www.nowcoder.com/practice/cc6afb95517f460cb785397c36ae4a9b

知识点:动态规划

对于每一行来说,我们最小的路径和取决于上一行的元素和大小,我们对当前行的每一个元素进行判断,取其上一行的两个相邻元素和中最小的那个作为经过当前元素的最小路径和,每一层都重复以上判断,最终我们遍历最后一行列的元素,得到最小的路径和。部分测试用例有些问题,并不符合题目所说的三角形排列,故我们需要注意遍历每一行元素时,要根据每一行实际的长度进行遍历操作。

Java题解如下

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param cows int整型二维数组 
     * @return int整型
     */
    public int minimumTotal (int[][] cows) {
        // write code here
        int n = cows.length;
        int[][] dp = new int[n][n];
        dp[0][0] = cows[0][0];
        for(int i = 1; i < n; i++) {
            dp[i][0] = dp[i - 1][0] + cows[i][0];
            dp[i][cows[i].length - 1] = dp[i - 1][i - 1] + cows[i][cows[i].length - 1];
            for(int j = 1; j < cows[i].length - 1; j++) {
                dp[i][j] = cows[i][j] + Math.min(dp[i - 1][j], dp[i - 1][j - 1]);
            }
        }
        int min = Integer.MAX_VALUE;
        for(int i = 0; i < cows[n - 1].length; i++) {
            min = Math.min(min, dp[n - 1][i]);
        }
        return min;
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 长得好看会提高面试通过率吗? #
3136次浏览 43人参与
# HR最不可信的一句话是__ #
1014次浏览 32人参与
# 米连集团26产品管培生项目 #
7062次浏览 224人参与
# 春招至今,你的战绩如何? #
14766次浏览 137人参与
# AI面会问哪些问题? #
890次浏览 22人参与
# 你的实习产出是真实的还是包装的? #
2704次浏览 52人参与
# MiniMax求职进展汇总 #
24882次浏览 321人参与
# 沪漂/北漂你觉得哪个更苦? #
1209次浏览 38人参与
# 你做过最难的笔试是哪家公司 #
1123次浏览 20人参与
# AI时代,哪个岗位还有“活路” #
2675次浏览 49人参与
# XX请雇我工作 #
51147次浏览 171人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7965次浏览 43人参与
# 简历第一个项目做什么 #
32067次浏览 357人参与
# 简历中的项目经历要怎么写? #
310896次浏览 4257人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152823次浏览 888人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187553次浏览 1123人参与
# AI时代,哪些岗位最容易被淘汰 #
64520次浏览 864人参与
# 如果重来一次你还会读研吗 #
229971次浏览 2011人参与
# 投格力的你,拿到offer了吗? #
178239次浏览 891人参与
# 你怎么看待AI面试 #
180643次浏览 1295人参与
# 正在春招的你,也参与了去年秋招吗? #
364158次浏览 2641人参与
# 腾讯音乐求职进展汇总 #
160820次浏览 1114人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务