问题描述13 24 6 57 9 8 10从上往下走,每次只能走左(L)或右(R)走一步, 然后将数字加起来,找出值最大的路径和最大值。 这个算法 用python要怎么写?
1 回答
心有法竹
TA贡献1866条经验 获得超5个赞
有个思路,创建一个二维数组aux
,储存当前位置的最大值,最后只需要返回整个二维数组的最大值。
路径就最后用DFS
倒推出来。
例如题目的例子,创建的aux
最终是这个样子
[ [ 1 ], [ 4, 3 ], [ 8, 10, 8 ], [ 15, 19, 18, 18 ]]
时间复杂度是O(1/2*n^2)
,n
是数组的长度,这里是4。
添加回答
举报
0/150
提交
取消