질문 -최저 비용 경로
비 음수 가득 M 행 N 그리드 주어 그 경로상의 모든 수의 합을 최소화하는 하단 왼쪽 상단에서 경로를 찾기.
참고 : 만 나는 이것이 일반적인 문제입니다 알고 너희들의 대부분의 문제뿐만 아니라 동적 프로그래밍을 알 것
시간
에 어느 시점에 하나 아래로 또는 오른쪽으로 이동할 수 있습니다. 여기에 재귀 코드를 시도하고 있지만 올바른 출력을 얻고 있습니다. 내 재귀 코드에서 누락 된 부분은 무엇입니까? 필자는 반복적이거나 동적 인 프로그래밍 방식을 원하지 않습니다. 나 혼자서 만들려고 노력하고있어.잘못된 출력을 표시합니다.
예 - 대답은 3
감사와 같이 곳은 2로 출력을 제공
1 2
1 1
.
def minPathSum(self, grid):
"""
:type grid: List[List[int]]
:rtype: int
"""
def helper(i,j,grid,dp):
if i >= len(grid) or j >= len(grid[0]):
return 0
print grid[i][j]
return grid[i][j]+min(helper(i+1,j,grid,dp),helper(i,j+1,grid,dp))
dp = [[0] * len(grid[0]) for i in range(len(grid))]
val = helper(0,0,grid,dp)
print dp
return val
"잘못된 출력"을받는다고 가정하고 있습니까? 어쨌든, 문제가 무엇인지, 예상되는 결과가 무엇인지 알려주지 않았기 때문에 귀하의 질문은 명확하지 않습니다. 여러분이 올린 모든 것이 여러분의 해결책입니다 ... something – smac89
편집 됨. 추가 된 질문과 예제 – Ryo
"대답은 1"입니다. –