leetcode(리트코드)64-Minimum Path Sum
leetcode(리트코드)64-Minimum Path Sum
leetcode 64 - Minimum Path Sum 문제입니다.
1. 문제
https://leetcode.com/problems/minimum-path-sum/
2. Input , Output
3. 분류 및 난이도
Medium 난이도 문제입니다.
leetcode Top 100 Liked 문제입니다.
4. 문제 해석
- 숫자가 들어있는 2차원 벡터가 들어옵니다. 왼쪽 맨 위에서 오른쪽 맨 아래에 도달할 때 숫자를 더합니다. 숫자가 최소가 되도록 경로를 짰을 때 숫자를 리턴하세요.
5. code
python
1
2
3
4
5
6
7
8
9
10
11
12
class Solution:
def minPathSum(self, grid: List[List[int]]) -> int:
row = len(grid)
col = len(grid[0])
for i in range(1,row):
grid[i][0] += grid[i-1][0]
for j in range(1,col):
grid[0][j] += grid[0][j-1]
for i in range(1,row) :
for j in range(1,col):
grid[i][j] += min(grid[i-1][j],grid[i][j-1])
return grid[row-1][col-1]
c++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public:
int minPathSum(vector<vector<int>>& grid) {
int row = grid.size();
int col = grid[0].size();
for(size_t i = 1;i<row; ++i)
grid[i][0] += grid[i-1][0];
for(size_t j = 1; j<col; ++j)
grid[0][j] += grid[0][j-1];
int i = 1;
int j = 1;
for(; i<row;++i)
{
for(j=1; j<col; ++j)
grid[i][j] += (min(grid[i-1][j], grid[i][j-1]));
}
return grid[row-1][col-1];
}
};
6. 결과 및 후기, 개선점
python 92%, c++ 96%
This post is licensed under CC BY 4.0 by the author.