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

力扣:62. 不同路径

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

提示:

  • 1 <= m, n <= 100
  • 题目数据保证答案小于等于 2 * 109

1、动态规划

class Solution {public int uniquePaths(int m, int n) {if(m<=1||n<=1)return 1;//排除行列为1的情况int[][] dp = new int[m][n];//定义dp数组为某行某列达到的路径数for(int i = 0;i < m;i++){dp[i][0] = 1;//初始化数组,第一行第一列的路径数都是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];//返回右下角的路径数}
}

2、卡尔的数论解法

class Solution {
public:int uniquePaths(int m, int n) {long long numerator = 1; // 分子int denominator = m - 1; // 分母int count = m - 1;int t = m + n - 2;while (count--) {numerator *= (t--);while (denominator != 0 && numerator % denominator == 0) {numerator /= denominator;denominator--;}}return numerator;}
};作者:代码随想录
链接:https://leetcode.cn/problems/unique-paths/solutions/2562792/dai-ma-sui-xiang-lu-leetcode62bu-tong-lu-ncye/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.lryc.cn/news/342481.html

相关文章:

  • store内路由跳转router.push
  • ChatGPT Web Midjourney一键集成最新版
  • springboot mongodb分片集群事务
  • node报错——解决Error: error:0308010C:digital envelope routines::unsupported——亲测可用
  • golang系统内置函数整理
  • 武汉星起航:五对一服务体系,助力创业者成功进军跨境电商市场
  • C++常用库函数——strcmp、strchr
  • vue3怎么使用vant的IndexBar 索引栏
  • VMware常见问题(技巧)总结
  • VS Code 保存+格式化代码
  • word启动缓慢之Baidu Netdisk Word Addin
  • 获取波形极值与间距并显示
  • 视频素材哪个app好?8个视频素材库免费使用
  • 002 validation自定义校验器
  • SQL-Server数据库--视图
  • Flink 部署模式
  • 第十三节:Vben Admin实战-系统管理之菜单管理
  • 2024------MySQL数据库基础知识点总结
  • 机器学习之基于Jupyter中国环境治理投资数据分析及可视化
  • 【Word】写论文,参考文献涉及的上标、尾注、脚注 怎么用
  • 能将图片转为WebP格式的WebP Server Go
  • 省份数量00
  • Android Native内存泄漏检测方案详解
  • 有限单元法-编程与软件应用(崔济东、沈雪龙)【PDF下载】
  • 蓝桥杯练习系统(算法训练)ALGO-950 逆序数奇偶
  • uniapp踩坑 uni.showToast 和 uni.showLoading
  • BIGRU、CNN-BIGRU、CNN-BIGRU-ATTENTION、TCN-BIGRU、TCN-BIGRU-ATTENTION合集
  • 通过 Java 操作 redis -- 基本通用命令
  • Jenkins集成Kubernetes 部署springboot项目
  • 个股期权是什么期权?个股期权什么时候推出?