LeetCode-64.Minimum Path Sum
来源:互联网 发布:行知实验园 编辑:程序博客网 时间:2024/05/16 00:53
https://leetcode.com/problems/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.
简单的DP问题
public int MinPathSum(int[,] grid) { int m = (int)grid.GetLongLength(0); int n = (int)grid.GetLongLength(1); if (m * n == 0) return 0; if (m * n == 1) return grid[0, 0]; int[,] mat = new int[m,n]; mat[0, 0] = grid[0, 0]; for (int j = 1; j < n; j++) mat[0, j] = mat[0, j - 1] + grid[0, j]; for (int i = 1; i < m; i++) mat[i, 0] = mat[i-1,0] + grid[i,0]; for (int i = 1; i < m; i++) { for (int j = 1; j < n; j++) { mat[i, j] = Math.Min(mat[i, j - 1], mat[i - 1, j]) + grid[i, j]; } } return mat[m - 1, n - 1]; }
优化一下,节省空间
public int MinPathSum(int[,] grid) { int m = (int)grid.GetLongLength(0); int n = (int)grid.GetLongLength(1); if (m * n == 0) return 0; if (m * n == 1) return grid[0, 0]; int[] mat = new int[n]; mat[0] = grid[0, 0]; for (int j = 1; j < n; j++) mat[j] = mat[j - 1] + grid[0, j]; for (int i = 1; i < m; i++) { for (int j = 0; j < n; j++) { if (j == 0) mat[j] += grid[i, j]; else mat[j] = Math.Min(mat[j - 1], mat[j]) + grid[i, j]; } } return mat[n - 1]; }
0 0
- [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
- 64. Minimum Path Sum LeetCode
- [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
- LeetCode 64. Minimum Path Sum
- OPC-Server安装 1(matrikon-opc)
- 第9章 结构化分析问题
- NSAttributedString
- 监控运维工具
- 数据列表借用泛型排重方法(Android\Java)
- LeetCode-64.Minimum Path Sum
- IntentFilter 匹配的一些事
- android 添加ETH pppoe tr069服务
- Linux命令 - Find
- 想就着这个机会
- Ext JS 6开发实例(三) :主界面设计
- 在Hive上实现SCD
- java中Hashmap按key排序
- Android UI性能优化(一)