1class Solution:2def minimumTotal(self, t: List[List[int]]) -> int:3dp = []4dp.append(t[0])56r = len(t)7answer = float("inf")8for i in range(1, r):9c = len(t[i])10dp.append([])11for j in range(0, c):12if j == 0:13val = dp[i - 1][j] + t[i][j]14elif j == c - 1:15val = dp[i - 1][j - 1] + t[i][j]16else:17val = min(dp[i - 1][j], dp[i - 1][j - 1]) + t[i][j]18if i == r - 1:19answer = min(answer, val)20dp[i].append(val)21return answer if r > 1 else t[0][0]