[LeetCode - 알고리즘] 64. 최소 경로 와 (자바 구현)

6576 단어 LeetCode
제목.
마이너스 정 수 를 포함 하지 않 는 m x n 격자 를 지정 합 니 다. 왼쪽 상단 에서 오른쪽 하단 까지 의 경 로 를 찾 아 경로 의 숫자 합 계 를 최소 화 하 십시오.
설명: 매번 아래로 또는 오른쪽으로 한 걸음 만 이동 할 수 있 습 니 다.
예시:
  :
[
  [1,3,1],
  [1,5,1],
  [4,2,1]
]
  : 7
  :      1→3→1→1→1      。 

생각:
             :
	          。    ,     (i, j)     
	   :    (i-1, j)       (i, j-1)     
	    。  dp[i][j] = Math.min(dp[i-1][j], dp[i][j-1]。

코드 구현:
public int minPathSum(int[][] grid) {
        // methods one : dynamic process (or can create another array arr[][])
        // int[][] arr = new int[grid.length][grid[0].length];
        for (int i = 1; i < grid.length; i++){
            grid[i][0] += grid[i - 1][0];
        }
        for (int j = 1; j < grid[0].length; j++){
            grid[0][j] += grid[0][j - 1];
        }

        for (int i = 1; i < grid.length; i++) {
            for (int j = 1; j < grid[i].length; j++) {
                grid[i][j] = Math.min(grid[i - 1][j], grid[i][j - 1]) + grid[i][j];
            }
        }

        return grid[grid.length - 1][grid[0].length - 1];
    }

전재 에 오신 것 을 환영 합 니 다. 전재 출처 를 밝 혀 주세요 【https://blog.csdn.net/sinat_35050808/article/details/84024146】

좋은 웹페이지 즐겨찾기