leetcode 064 Minimum Path Sum

来源:互联网 发布:黎明杀机fps优化 编辑:程序博客网 时间:2024/06/05 01:00

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 right at any point in time.

Subscribe to see which companies asked this question


class Solution {public:    int minPathSum(vector<vector<int>>& grid) {        int n = grid.size(), m = 0;if(n == 0) return 0;m = grid[0].size();vector<int> cur(m, -1);//dp[i][j] = min(dp[i-1][j],dp[i][j-1])+mat[i][j];for(int i = 0; i < n; i++) {for(int j = 0; j < m; j++) {if(j>=1 && cur[j]!=-1) {cur[j] = min(cur[j-1], cur[j])+grid[i][j];} else if(j==0) {if(cur[j]==-1)cur[j] = grid[i][j];elsecur[j] = cur[j]+grid[i][j];} else if(cur[j]==-1) {cur[j] = cur[j-1]+grid[i][j];}}}return cur[m-1];    }};





0 0
原创粉丝点击