动态规划——LeetCode120三角形最小路径和

本文介绍了一种求解三角形最小路径和的算法,通过动态规划方法自底向上计算,实现空间优化,最终返回从顶点到底部的最小路径总和。提供了完整的代码示例,包括非空间优化和空间优化两种实现。

给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。

例如,给定三角形:

[
     [2],
    [3,4],
   [6,5,7],
  [4,1,8,3]
]
自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。

说明:

如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。

 

贴上代码(空间优化和不空间优化两种)

class Solution {
    public int minimumTotal(List<List<Integer>> triangle) {
        if ( triangle.size() <= 0 ) {
            return 0;
        }
        int n = triangle.size();
        if ( n == 1 ) {
            return triangle.get(0).get(0);
        }
        int m = triangle.get(n-1).size();

        //非空间优化
        // int dp[][] = new int[n][m];
        
        // for( int i = n-1 ; i >= 0 ; i-- ) {
        //     for( int j = triangle.get(i).size()-1 ; j >= 0 ; j-- ) {
        //         if ( i == n-1 ) {
        //             dp[i][j] = triangle.get(i).get(j);
        //         }
        //         else {
        //             dp[i][j] = Math.min( dp[i+1][j] , dp[i+1][j+1] ) + 
        //                         triangle.get(i).get(j);
        //         }
        //     }
        // }
        // return dp[0][0];

        //空间优化(i==j?)
        int dp[] = new int[m];
        for( int i = n-1 ; i >= 0 ; i-- ) {
            for( int j = 0 ; j < triangle.get(i).size() ; j++ ) {
                if ( i == n-1 ) {
                    dp[j] = triangle.get(i).get(j);
                }
                else {
                    dp[j] = Math.min( dp[j] , dp[j+1] ) + 
                            triangle.get(i).get(j);
                }
            }
        }
        return  dp[0];
    }
}

 

内容概要:本文围绕“考虑电动汽车聚合可调节能力的含波动性电源电氢耦合系统多目标优化运行”展开研究,提出了一种基于Matlab代码实现的多目标优化模型。该模型深度融合电-氢耦合系统与高比例波动性可再生能源(如风电、光伏),充分挖掘电动汽车(EV)集群作为移动储能单元的灵活调节潜力,通过聚合调控提升系统对新能源的消纳能力与运行经济性。研究系统构建了电动汽车可调度能力、电解水制氢与储氢动态过程、多能源协同互补的优化调度框架,并结合智能优化算法实现经济性、低碳性与运行稳定性等多重目标的协同优化。文中配套提供了完整的Matlab仿真代码、相关数据及可能的论文支撑材料,极大地方便了模型的复现、验证与后续深化研究。; 适合人群:具备电力系统、综合能源系统、优化理论或新能源技术等相关领域基础知识的研究生、科研人员,以及从事新型电力系统规划、清洁能源消纳与智慧能源管理的工程技术人员。; 使用场景及目标:①开展高渗透率可再生能源接入下的综合能源系统多目标优化调度研究;②探究电动汽车集群在电网削峰填谷、平抑新能源出力波动及提供辅助服务方面的应用价值与潜力;③学习并掌握电氢耦合系统的建模方法、多目标优化求解技术及其在Matlab/Simulink环境下的仿真实现流程。; 阅读建议:此资源不仅提供可运行的代码,更蕴含了前沿的科研思路与创新方法,建议读者结合所提供的代码、数据与可能的论文文档,系统性地学习从问题建模、算法设计到仿真分析的完整科研过程,并重点关注其中关于需求侧资源聚合、多能互补协同与绿色低碳运行的核心理念。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值