动态规划算法初步(2)——数字三角形

本文介绍了动态规划算法在解决数字三角形问题中的应用,通过一个具体的洛谷题目为例,阐述了如何找到从顶层到底层数字之和最大的路径。讨论了为何深度优先搜索在处理大数据时效率低下,并提出利用动态规划进行优化,避免重复计算,通过存储中间结果来提高效率。最后给出了递归和递推两种实现方式的代码示例。
摘要由CSDN通过智能技术生成

动态规划算法初步(2)

例题一:数字三角形(洛谷题)(是不是感觉很熟悉)

有人评论本人的博客《深度优先搜索(2)——数字三角形》说我的代码是错的
其实,本题的正解是用动态规划,在《深度优先搜索(1)——数字三角形》里出现只是为了让读者理解深度优先搜索(用深度优先搜索当有1000以上的数时会爆)

题目:(坐标型)

有一个数字三角形,编程求从最顶层到最底层的一条路所经过位置上数字之和的最大值。每一步只能向左下或右下方向走。下图数据的路应为7->3->8->7->5,和为30。

输入:

第一行:n(1<=n<=100),数字三角形共有n行;
以下R行:依次表示数字三角形中每行中的数字。
每个数都是非负的,且<=100.

输出:

一个正整数,路径上数字之和的最大值。

输入样例:

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

输出样例:

30

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值