我是靠谱客的博主 快乐缘分,这篇文章主要介绍python解数字三角形,现在分享给大家,希望可以做个参考。

给出一个数字三角形。 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大。
●每一步可沿左斜线向下或右斜线向下走;
●1<三角形行数≤100;
●三角形中的数字为整数0,1,…99;
li =[
[7],
[3,8],
[8,1,0],
[2,7,4,4],
[4,5,2,6,5],
[2,3,4,6,3,1]
]
看到这个题,想到了两种方法:dfs和动态规划.
dfs:

复制代码
1
2
3
4
5
6
7
def dfs(x,y): if x == len(li)-1: #深搜到最底层,直接把该值返回。 return li[x][y] res = li[x][y]+max(dfs(x+1,y),dfs(x+1,y+1)) #否则直接用当前元素加下一行大的深搜值。 return res if __name__ == '__main__': li =

最后

以上就是快乐缘分最近收集整理的关于python解数字三角形的全部内容,更多相关python解数字三角形内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部