三⾓形最⼩路径和

三⾓形最⼩路径和:https://leetcode-cn.com/problems/triangle/
思路:自顶向下,将本级的数字加到下一级的相同位置或者左一位,若下一级有两个选择则进行比较,选择和最小的保存到本级,进行循环,二维数组最后一行则为最后的结果,遍历得到最小的路径值输出

class Solution {
public static int minimumTotal(List<List<Integer>> triangle) {
    for(int i=0;i<triangle.size()-1;i++){
        triangle.get(i+1).set(0,triangle.get(i+1).get(0)+triangle.get(i).get(0));
       
        for(int j=1;j<=i;j++){
           triangle.get(i+1).set(j,triangle.get(i+1).get(j)+(triangle.get(i).get(j-1)>triangle.get(i).get(j)?
                   triangle.get(i).get(j):triangle.get(i).get(j-1)));
            
        }
        triangle.get(i+1).set(i+1,triangle.get(i+1).get(i+1)+triangle.get(i).get(i));
        
    }
    int m=triangle.get(triangle.size()-1).get(0);
    for(int i=0;i<triangle.get(triangle.size()-1).size();i++){
        if(m>triangle.get(triangle.size()-1).get(i)){
            m=triangle.get(triangle.size()-1).get(i);
        }
    }
    return m;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值