[Leetcode-64]Minimum Path Sum 二维数组路径最小和
来源:互联网 发布:剪切视频在线软件 编辑:程序博客网 时间:2024/05/18 22:12
0. 题目概要
Leetcode 64. 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 right at any point in time.
翻译:
一个m
行n
列数组, 每个元素是一个非负数, 从左上角走到右下角, 每次只能朝右或者下走, 不能走出矩阵, 使得总和最小。
1. 分析:
m行n列, 共(m+n-2)步, (m-1)步向下, (n-1)步向右, 路径条数总共有C(m+n-2, m-1)
dp[i][j]
表示从左上角到达(x, y)的最小值dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + a[i][j];
- 从左边过来 dp[i][j-1] + a[i][j];
- 从上边过来 dp[i-1][j] + a[i][j];
- 初值(下标从0开始)
- dp[0][0] = a[0][0]
- 第0行时候 从左边过来 dp[0][j>0] = dp[0][j-1] + a[i][j];
- 第0列时候 从上边下来 dp[i>0][0] = dp[i-1][0] + a[i][j];
- 复杂度: 时间O(m*n) 空间(m*n)
2. AC代码
Submission Result: Accepted
class Solution {public: int minPathSum(vector<vector<int>>& grid) { int m = grid.size(), n = grid[0].size(); vector<vector<int> > dp(m, vector<int>(n)); // 初始化为m行n列的向量 for(int i=0; i< m; i++){ for(int j=0; j< n; j++){ if(i == 0){ if(j==0){ dp[i][j] = grid[i][j]; // grif[0][0] }else{ dp[i][j] = dp[i][j-1] + grid[i][j]; // j != 0 从左边过来 } }else if( j == 0){ dp[i][j] = dp[i-1][j] + grid[i][j]; }else{ dp[i][j] = min(dp[i][j-1] , dp[i-1][j]) + grid[i][j]; } } } return dp[m-1][ n-1]; }};
阅读全文
0 0
- [Leetcode-64]Minimum Path Sum 二维数组路径最小和
- Minimum Path Sum'二维数组最小路径和
- [leetcode]Minimum Path Sum 最小路径和
- Leetcode:Minimum Path Sum 最小路径和
- LeetCode—Minimum Path Sum 二维数组最小路径,动态规划
- LeetCode | Minimum Path Sum(最小路径和)
- LeetCode OJ 之 Minimum Path Sum (最小路径和)
- Leetcode 64. Minimum Path Sum 最小路径和 解题报告
- LeetCode 64. Minimum Path Sum(最小路径和)
- leetcode 64. Minimum Path Sum-最小路径和|动态规划
- LeetCode--Minimum Path Sum (最小路径和)Python
- Minimum Path Sum 最小路径和
- LinCode Minimum Path Sum 最小路径和
- leetcode64-Minimum Path Sum(最小路径和)
- lintcode minimum-path-sum 最小路径和
- 最小路径和—Minimum Path Sum
- LeetCode(Minimum Path Sum) 找到路径中和最小的
- 【LeetCode-面试算法经典-Java实现】【064-Minimum Path Sum(最小路径和)】
- 【Leetcode】001 Two Sum
- 小学奥数
- KNN算法预测泰坦尼克号乘客生存率
- 【NOIP2011PJ】瑞士轮
- POJ-Find The Multiple
- [Leetcode-64]Minimum Path Sum 二维数组路径最小和
- 深度相机(二)--结构光深度测距
- 笔试笔记(二)
- 大型企业所需掌握技术
- 支持单选,多选,还可以限制选择的数量的android流式布局
- 水晶灯火灵
- com.alibaba.fastjson.JSONException: syntax error, expect {, actual int, pos 0
- 车厢重组( carry. cpp)
- 【LeetCode】String to Integer (atoi)(java)