LeetCode 64 Minimum Path Sum--In C++
来源:互联网 发布:单片机如何控制12v电机 编辑:程序博客网 时间:2024/04/30 06:13
思路:
用动态规划的话,速度是最快的。
状态迁移方程:mat[i][j] = (mat[i][j + 1]<mat[i + 1][j] ? mat[i][j + 1] : mat[i + 1][j]) + grid[i][j];
即要找到一个格子的下边和右边较小的值,在加上grid中给他的值,作为mat中这个位置的最终值。
int minPathSum(vector<vector<int>>& grid) {int m = grid.size();if (m == 0){return 0;}int n = grid[0].size();int** mat = new int*[m]();for (int i = 0; i < m; i++){mat[i] = new int[n]();}mat[m - 1][n - 1] = grid[m-1][n-1];for (int i = m - 1; i >= 0; i--){for (int j = n - 1; j >= 0; j--){if (i == m - 1 && j == n - 1){continue;}if (j == n - 1){mat[i][j] = mat[i + 1][j] + grid[i][j];//最底最右的边,等于自身值加前空的值}else if (i == m - 1){mat[i][j] = mat[i][j + 1] + grid[i][j];}else{mat[i][j] = (mat[i][j + 1]<mat[i + 1][j] ? mat[i][j + 1] : mat[i + 1][j]) + grid[i][j];}}}int result = mat[0][0];for (int i = 0; i < m; i++){delete[] mat[i];}delete[] mat;return result;}
0 0
- LeetCode 64 Minimum Path Sum--In C++
- [leetcode-64]Minimum Path Sum(C)
- leetcode 64 c语言. Minimum Path Sum
- LeetCode 64: Minimum Path Sum
- [leetcode 64] Minimum Path Sum
- [LeetCode 64]Minimum Path Sum
- leetcode || 64、Minimum Path Sum
- Minimum Path Sum - LeetCode 64
- Minimum Path Sum leetcode 64
- leetcode-64-Minimum Path Sum
- Leetcode 64(Minimum Path Sum)
- LeetCode(64) Minimum Path Sum
- Leetcode #64 Minimum Path Sum
- leetcode 64: Minimum Path Sum
- Leetcode#64||Minimum Path Sum
- LeetCode 64: Minimum Path Sum
- 【LEETCODE】64-Minimum Path Sum
- 【leetcode】【64】Minimum Path Sum
- (已解决)Arduino mega2560 R3插在电脑上没有反应
- Retorfit 2.0
- 友元点类
- VMware虚拟化解决方案】如何选择虚拟化产品
- Spring整合JMS(一)-基于ActiveMQ实现
- LeetCode 64 Minimum Path Sum--In C++
- MYSQL知识点整理
- Android 自定义View 让内容跟随手指滚动
- ant 编译android程序 执行build.xml文件到打包资源文件时候报错!提示找不到资源文件!
- 用户空间和内核空间通讯之【Netlink 中】
- 开发中遇到的l异常(mysql为主)
- 比较
- 剑指Offer——序列化二叉树
- 20160525 数据分析与SAS2 逻辑库