# Leetcode 64. Minimum Path Sum ###### tags: `Leetcode(C++)` 題目 : https://leetcode.com/problems/minimum-path-sum/ 。 想法 : 爬樓梯的DP。 sum[i][j] = min(sum[i-1][j], sum[i][j-1]) + grid[i][j]; 時間複雜度 : O(r*c)。 程式碼 : ``` class Solution { public: int minPathSum(vector<vector<int>>& grid) { int r=grid.size(), c=grid[0].size(), dp[210][210]; for(int i=0 ; i<r ; i++){ for(int j=0 ; j<c ; j++){ dp[i][j]=INT_MAX; } } dp[0][0]=0; for(int i=0 ; i<r ; i++){ for(int j=0 ; j<c ; j++){ if(i-1 >= 0) dp[i][j]=dp[i-1][j]; if(j-1 >= 0) dp[i][j]=min(dp[i][j], dp[i][j-1]); dp[i][j] += grid[i][j]; } } /*for(int i=0 ; i<r ; i++){ for(int j=0 ; j<c ; j++){ printf(" %2d", dp[i][j]); } printf("\n"); }*/ return dp[r-1][c-1]; } }; ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up