第十四周 动态规划(四)
来源:互联网 发布:淘宝上的车秒贷怎么样 编辑:程序博客网 时间:2024/05/21 21:36
算法题目 :Minimum Path Sum
算法题目描述:
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right whichminimizes the sum of all numbers along its path.
Note: You can only move either down or right at any point in time.
算法分析:
这周学习的是线性规划,但是貌似没有什么线性规划的题目,就继续做着里面的动态规划的题目吧。
这道题目的意思是给出一个二维m*n矩阵grid,含有非负整数。找出一条路径从最左上角到右下角,使之经过元素之和最小。假定只能向右或向下移动。
我们还是用动态规划的思想,二维数组path记录当前位置结束的路径的最小和,path[i][j]代表从grid[0][0]开始到grid[i][j]结束的最小路径和,程序最后返回path[m-1][n-1],即从最左上角到右下角的最小路径和。
算法代码(C++):
public class Solution { public int minPathSum(int[][] grid) { int rows = grid.length; int cols = grid[0].length; int[][] path = new int[rows][cols]; path[0][0] = grid[0][0]; //左边界 for (int i = 1; i < rows; i++) { path[i][0] = path[i-1][0] + grid[i][0]; } //上边界 for (int i = 1; i < cols; i++) { path[0][i] = path[0][i-1] + grid[0][i]; } for (int i = 1; i < rows; i++) { for (int j = 1; j < cols; j++) { path[i][j] = Math.min(path[i][j-1], path[i-1][j]) + grid[i][j]; } } return path[rows-1][cols-1]; } }
阅读全文
0 0
- 第十四周 动态规划(四)
- 第十四周-(项目四)数组排序。
- 第十四周项目四 电子词典(二分法)
- (四)动态规划
- 第十四周项目四:电子词典
- 第十四周 项目四:电子词典
- 第十四周项目四:电子词典
- 第十四周项目四 电子词典
- 第十四周 项目四--电子词典
- 第十四周项目四电子词典
- 第十四周项目四 电子词典
- 第十四周阅读程序四
- 第十一周 动态规划(一)
- 浅谈动态规划(四)
- 动态规划入门(四)
- 第十四周-(项目四,拓展二)数组排序。
- 第十四周 项目四:电子词典(修改版)
- 周报(第十四周)
- 008 使用MyBatis,easyUI实现CRUD操作样例-CUD(CRUD完毕)
- 文本相似度Shingling和Minhash算法
- Xcode9.0通过无线Wifi连接iPhone进行iOS开发调试
- pom文件中常见问题
- Android给apk签名
- 第十四周 动态规划(四)
- docker镜像的导入和导出
- 关于JQueryAjax文件加载显示文本内容
- 数据库(二)--数据约束 数据库设计 多表查询 MySQL存储过程 触发器 数据库权限问题
- Effective Java学习笔记--2017年5月
- spring-boot入门整合jpa基于maven
- 软技能:代码之外的生存指南
- 结构体内存对齐问题
- 资源下载类网站-点赞效果