当前位置: 首页 > news >正文

电脑上做简单的网站在线生成网页网站

电脑上做简单的网站,在线生成网页网站,汽车用品网站规划,芜湖十大网络公司Leetcode - 62:不同路径 题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” &#…

Leetcode - 62:不同路径

题目:

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。

问总共有多少条不同的路径?

示例 1:

输入:m = 3, n = 7
输出:28

示例 2:

输入:m = 3, n = 2
输出:3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右
3. 向下 -> 向右 -> 向下

示例 3:

输入:m = 7, n = 3
输出:28

示例 4:

输入:m = 3, n = 3
输出:6

笔记:

dp[i][j]的含义:到达二维图的(i,j)点的路径条数。

初始化:求的是到达重点的路径条数,所以我们到达(0,0)点的路径数量为1;

状态转移方程:dp[i][j] = dp[i - 1][j] + dp[i][j - 1]因为只能向下或者向右走。

遍历顺序:就从小到大即可

class Solution {
public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m, vector<int>(n, 0));dp[0][0] = 1;for(int i = 0; i < m; i++){dp[i][0] = 1;}for(int i = 0; i < n; i++){dp[0][i] = 1;}for(int i = 1; i < m; i++){for(int j = 1; j < n; j++){dp[i][j] = dp[i - 1][j] + dp[i][j - 1];}}return dp[m - 1][n - 1];}
};

Leetcode - 63:不同路径

题目:

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

网格中的障碍物和空位置分别用 1 和 0 来表示。

示例 1:

输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
输出:2
解释:3x3 网格的正中间有一个障碍物。
从左上角到右下角一共有 2 条不同的路径:
1. 向右 -> 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右 -> 向右

示例 2:

输入:obstacleGrid = [[0,1],[0,0]]
输出:1

笔记:

加了点障碍我们就对其进行特殊处理,但不要忘记我们每次只能向右下方走,不会拐弯抹角的走。

dp[i][j]的含义:就是到达(i, j)点的路径数量;

初始化:我们需要对[i][0]和[0][i]这两条边进行初始化。遇到障碍物就直接break因为不可能有路径到后面的路了。

状态转移方程:dp[i][j] = dp[i - 1][j] + dp[i][j - 1]但这里我们需要注意的是遇到障碍物我们要continue,肯定不能用break啊,因为我们又不知一种走的方法,也不想最外围那两条边只要路被堵了后面就坑定过不去了。

遍历顺序:从小到大;

class Solution {
public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int m = obstacleGrid.size();int n = obstacleGrid[0].size();vector<vector<int>> dp(m, vector<int>(n, 0));for(int i = 0; i < m; i++){if(obstacleGrid[i][0] == 1){dp[i][0] = 0;break;}dp[i][0] = 1;}for(int i = 0; i < n; i++){if(obstacleGrid[0][i] == 1){dp[0][i] = 0;break;}dp[0][i] = 1;}for(int i = 1; i < m; i++){for(int j = 1; j < n; j++){if(obstacleGrid[i][j] == 1){continue;}if(obstacleGrid[i][j] == 0){dp[i][j] = dp[i - 1][j] + dp[i][j - 1];}}}return dp[m - 1][n - 1];}
};

http://www.wangmingla.cn/news/151470.html

相关文章:

  • 银川市住房和城乡建设网站怎么免费创建自己的网站
  • 五合一免费建站注册城乡规划师好考吗
  • 青浦网站招营业员做一休一网上商城网站开发
  • 网站开发如何避免浏览器缓存的影响怎么查看域名是一级还是二级域名
  • 国外做兼职的网站微信运营
  • 江门模板开发建站历史权重查询
  • 中国城乡住房建设部网站最新中国新闻
  • 网站里网格怎么做新手怎么做网络销售
  • 做自己的视频网站百度云网盘资源
  • 网站登录界面模板下载广州网页制作
  • php ajax网站开发典型实例pdf上海推广网络营销咨询热线
  • 人大家网站建设网络营销的收获与体会
  • 时网站建设公司管理企业网络营销案例分析
  • 自己做链接的网站上海网站搜索引擎优化
  • 免费网站域名国内免费顶级域名注册
  • 如何制作网页导航栏东莞百度快速排名优化
  • 中国建设银行个人客户揭阳市seo上词外包
  • 个人品牌网站设计深圳网络推广怎么做
  • 顺德网站建设教程seo优化工作怎么样
  • 做网站java好还是php好个人网页制作
  • 赤城县城乡建设局网站北京网站seo哪家公司好
  • 好用的网站系统友情链接多久有效果
  • 衡水做外贸网站seo专员是什么
  • 一般网站有哪些模块鸿科经纬教网店运营推广
  • 微信表情开放平台官网登录seo技术培训沈阳
  • 免费 网站模板如何在百度免费发布广告
  • asp.net做网站后台上海关键词排名优化怎样
  • 深圳网站建设有没有市场宝安网站建设
  • 嘉兴网站建设哪家好广告联盟接单赚钱平台
  • 专业网站定制服务班级优化大师app