![[Java] 64.Minimum Path Sum - LeetCode / Dynamic Programing(DP)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FwZX3f%2FbtsdZ4BIs3n%2FAAAAAAAAAAAAAAAAAAAAAJXf6ZnsHGG4yoDwWSHIQHdJfwj5QxUXv-0PP5OXMCSz%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D4F7iRaAd9DdCD8tkQYATDtgKq%252Fg%253D)
[Java] 64.Minimum Path Sum - LeetCode / Dynamic Programing(DP)P.S./leetcode2023. 5. 7. 07:35
Table of Contents
728x90
728x90
https://leetcode.com/problems/minimum-path-sum/
Minimum Path Sum - LeetCode
Can you solve this real interview question? Minimum Path Sum - Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right, which minimizes the sum of all numbers along its path. Note: You can only move either down or rig
leetcode.com
풀이
이차원배열 grid에서, 오른쪽, 아래로만 이동할 수 있을 때, 모든 숫자의 합을 최소화 하는 경로를 찾는 dp문제.
오른쪽, 아래로만 이동할 수 있으므로, i나 j가 0일때만 고려해주면 됐다.
class Solution{
public int minPathSum(int[][] grid) {
for(int i=0; i<grid.length; i++) {
for(int j=0; j<grid[i].length; j++) {
dp(grid, i, j);
}
}
return grid[grid.length-1][grid[0].length-1];
}
public void dp(int[][] grid, int i, int j) {
if(i==0 && j==0) return;
else if(i==0) grid[i][j] += grid[i][j-1];
else if(j==0) grid[i][j] += grid[i-1][j];
else grid[i][j] += Math.min(grid[i-1][j], grid[i][j-1]);
}
}

728x90
300x250
@mag1c :: 개발잘하고싶다
diehreo@gmail.com
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!