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

【代码随想录day 34】 力扣 62.不同路径II

视频讲解:https://www.bilibili.com/video/BV1Ld4y1k7c6/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0063.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84II.html#%E6%80%9D%E8%B7%AF
力扣题目:https://leetcode.cn/problems/unique-paths-ii/

和上一道题思路一样,不同点在于,初始化时如果遇到障碍物,后续dp全为0,在遍历dp是如果遇到障碍物,将dp[][]置为0.

  1. dp含义,dp[i][j]表示到达(i, j)这个点有多少种不同的路径
  2. 递推公式,因为(i, j)只能由上点(i - 1, j)或左点(i, j - 1)得到,所以dp[i][j] = dp[i - 1][j] + dp[i][j - 1];但需要注意的是,这道题中出现了障碍物,如果(i, j)是障碍物的话dp[i][j] = 0
  3. 初始化,因为所有的点都是由最左一列和最上一行推导出来的,所以最左一列和最上一行全部赋值为1,如果有障碍物的话,从当前节点到之后全为0
  4. 遍历顺序,从上往下,从左往右
class Solution {
public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {//计算几行几列int m = obstacleGrid.size();int n = obstacleGrid[0].size();//1. dp含义,dp[i][j]表示到达(i, j)这个点有多少种不同的路径//2. 递推公式,因为(i, j)只能由上点(i - 1, j)或左点(i, j - 1)得到,所以dp[i][j] = dp[i - 1][j] + dp[i][j - 1];//但需要注意的是,这道题中出现了障碍物,如果(i, j)是障碍物的话dp[i][j] = 0//3. 初始化,因为所有的点都是由最左一列和最上一行推导出来的,所以最左一列和最上一行全部赋值为1,如果有障碍物的话,从当前节点到之后全为0vector<vector<int>> dp(m, vector<int>(n, 0));//最左一列for(int i = 0; i < m; ++i){if(obstacleGrid[i][0] == 1){break;}dp[i][0] = 1;}//最上一行for(int j = 0; j < n; ++j){if(obstacleGrid[0][j] == 1){break;}dp[0][j] = 1;}//4.遍历顺序,从上往下,从左往右for(int i = 1; i < m; ++i){for(int j = 1; j < n; ++j){if(obstacleGrid[i][j]){dp[i][j] = 0;continue;}dp[i][j] = dp[i - 1][j] + dp[i][j - 1];//cout << "(" << i << ", " << j << "):" <<  dp[i][j] << ' ';//cout << "(" << i - 1 << ", " << j << "):" <<  dp[i - 1][j] << ' ';//cout << "(" << i << ", " << j - 1 << "):" <<  dp[i][j - 1] << endl;}}return dp[m - 1][n - 1];}
};
http://www.dtcms.com/a/435990.html

相关文章:

  • 哪些公司做网站好河南营销型网站建设
  • 做网站需要写程序绿色营销案例100例
  • 【Linux】进程间通信(1)
  • 域名所有人是网站名不能转出用凡科做网站要钱吗
  • asp.net网站开发上网站开发哪家公司电话
  • 个人做的网站有什么危险吗万网官网域名注册多少钱
  • 网站机房建设成本某公司网络营销现状分析
  • 服务器主机 网站安阳企业网站优化外包
  • DS container adapters <B> priority_queue in Huffman Algorithm 2/99
  • 英语学习-Saints042
  • 建立网站条件一级域名如何分发二级域名
  • wordpress发布失败手机网站优化需要注意什么
  • 北京模板网站建设wordpress远程本地化
  • 【P0】Spring Cloud 面试篇
  • freertos内部机制
  • 苏州公司做变更网站建筑工程网站建设
  • 广州最好网站建设公司石家庄网站制作仓谷
  • 腾讯企点客户通长沙网站seo推广公司哪家好
  • 如何查看网站是哪家公司做的?双wordpress自动同步文章
  • 婚礼策划公司优化推广网站怎么做最好
  • 天津企业设计网站建设wordpress注册不成功
  • 何为“类”?(Java基础语法)
  • 德城区建设局网站建设部特殊工种查询网站
  • 如何做优化网站的原创性文章济南移动互联网开发
  • 建设部标准定额研究所网站c2c网站建设方案
  • 济南公司做网站的价格搜索引擎内部优化
  • 网站有效内容的宣传及推广关于做网站的ppt
  • wap网站 微信登录工商银行在线登录入口
  • 没有网站可以icp备案wordpress回到旧版编辑器
  • PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题