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

leetcode hot100刷题日记——21.不同路径

在这里插入图片描述
和20题一样的思路link
题解:

class Solution {
public:int dfs(int i,int j,vector<vector<int>>&memo){//超过了边界,return 0if(i<0||j<0){return 0;}//从(0,0)到(0,0)只有一条路if(i==0&&j==0){return 1;}int &res=memo[i][j];//看之前有没有走过if(res){return res;//如果走过}return res=dfs(i-1,j,memo)+dfs(i,j-1,memo);}int uniquePaths(int m, int n) {vector memo(m,vector<int>(n));//用m行n列的数组存位置状态return dfs(m-1,n-1,memo);}
};
class Solution {
public:int uniquePaths(int m, int n) {//dp[i][j]=dp[i-1][j]+dp[i][j-1]//即:dp[i+1][j+1]=dp[i][j+1]+dp[i+1][j]vector dp(m+1,vector<int>(n+1));for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(i==0&&j==0){dp[1][1]=1;//其实看成左上角顶点是(1,1),只有1种方法走到}else{dp[i+1][j+1]=dp[i][j+1]+dp[i+1][j];//假设i=0,j=1,dp[1][2]=dp[0][2]+dp[1][1]//这个时候其实是要走到顶点处下面一格,那么很容易知道dp[0][j]和dp[i][0]都必须是0//因为超过边界了,我们在初始化dp数组的时候,dp数组全是0,所以已经包含了以上}}}return dp[m][n];}
};
http://www.xdnf.cn/news/681913.html

相关文章:

  • 六、西方哲学
  • 【连载19】基础智能体的进展与挑战综述-对智能体大脑的威胁
  • halcon高斯滤波
  • 网络编程--上篇
  • 【详细记录】我的第一次裸片硬件尝试:stm32f103c8t6最小核心板一板成
  • unet 视频截图 实现简单的unet kaggle运行
  • Kruskal-Wallis检验 vs. 多次Wilcoxon检验:多重比较-spss
  • LCR 094. 分割回文串 II
  • Elasticsearch搜索机制与分页优化策略
  • Pytest自动化测试框架搭建:Jenkins持续集成
  • 通俗解释网络参数RTT(往返时间)
  • Scratch节日 | 六一儿童节
  • 并发编程(二)—synchronized和volatile
  • 尚硅谷redis7 55-57 redis主从复制之理论简介
  • 从零搭建上门做饭平台:高并发订单系统设计
  • 普罗米修斯监控CPU\内存汇聚图
  • 产业集群间的专利合作关系
  • Visual Studio编译当前文件
  • vue项目 build时@vue-office/docx报错
  • ceph recovery 相关参数
  • MMdetection推理验证输出详解(单张图片demo)
  • 用DEEPSEEK写的扫雷小游戏
  • 如何设计高效的索引策略?
  • 一则doris数据不一致问题
  • Day38 Python打卡训练营
  • Python+OpenCV实战:高效实现车牌自动识别
  • 卷积神经网络(CNN)入门学习笔记
  • 定时清理流媒体服务器录像自动化bash脚本
  • 大模型 Agent 中的通用 MCP 机制详解
  • JavaScript- 4.1 DOM-document对象