题解 | #三角形最小路径和#
三角形最小路径和
https://www.nowcoder.com/practice/c9d44b73dc7c4dbfa4272224b1f9b42c
import traceback
from sys import flags
from itertools import count
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param triangle int整型二维数组
# @return int整型
#
class Solution:
def minTrace(self , triangle: List[List[int]]) -> int:
# write code here
# 递归不好做
n = len(triangle)
if n ==1:
return triangle[0][0]
#第n-1的值更改为:
for i in range(0,n-1):
for j in range(0,n-1-i):
triangle[n-2-i][j] = triangle[n-2-i][j]+min(triangle[n-1-i][j],triangle[n-1-i][j+1])
return triangle[0][0]
这一题看起来挺简单的,做起来觉得挺难的,一开始想着递归,后来发现怎么这么复杂,不是递归能做出来的
尝试动态规划
查看13道真题和解析