Minimum Falling Path Sum (Leetcode 931)
Problem Link: https://leetcode.com/problems/minimum-falling-path-sum/
class Solution:
def minFallingPathSum(self, matrix: List[List[int]]) -> int:
n=len(matrix)
dp=[[0 for i in range(n)] for j in range(n)]
for i in range(n):
for j in range(n):
if(i==0):
dp[i][j]=matrix[i][j]
else:
if(j-1<0):
l=float('inf')
else:
l=dp[i-1][j-1]
curr=dp[i-1][j]
if(j+1>=n):
r=float('inf')
else:
r=dp[i-1][j+1]
temp=min(min(l,r),curr)
dp[i][j]=temp+matrix[i][j]
return min(dp[n-1])
Last updated