62. 不同路径
时间:2020-04-13
本文章向大家介绍62. 不同路径,主要包括62. 不同路径使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目描述:
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。
问总共有多少条不同的路径?
例如,上图是一个7 x 3 的网格。有多少可能的路径?
示例 1:
输入: m = 3, n = 2
输出: 3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向右 -> 向下
2. 向右 -> 向下 -> 向右
3. 向下 -> 向右 -> 向右
示例 2:
输入: m = 7, n = 3
输出: 28
提示:
1 <= m, n <= 100
题目数据保证答案小于等于 2 * 10 ^ 9
思想:
递归,先确定递归出口,然后执行递归操作
注:在执行递归过程中可以吧经过的路线用数组保存,不然会超时(因为有很多重复计算)
代码:
static int a[101][101]={0}; //记录已经计算过的路径,大大提高效率 class Solution { public: int uniquePaths(int m, int n) { if(m<=0 or n<=0) return 0; else if(m==1 || n==1) return 1; else if(m==2 && n==2) return 2; else if((m==2&&n==3) || (m==3&&n==2)) return 3; if(a[m][n]>0) return a[m][n]; a[m][n-1] = uniquePaths(m,n-1); a[m-1][n] = uniquePaths(m-1,n); a[m][n] = a[m][n-1] + a[m-1][n]; return a[m][n]; } };
原文地址:https://www.cnblogs.com/thefatcat/p/12692022.html
- 关于 WEB/HTTP 调试利器 Fiddler 的一些技巧分享
- Java线程使用技巧学习(一)
- Python FAQ(常见问题解答)(1)
- ElastAlert监控日志告警Web攻击行为
- Java线程使用技巧学习(二)
- 挖洞经验 | 看我如何发现“小火车托马斯”智能玩具APP聊天应用漏洞
- Hive 常见问题与技巧【Updating】
- Hive 基础(1):分区、桶、Sort Merge Bucket Join
- 简化你的 java 字符串操作:Guava 之 CharMatcher 用法简介
- WAF绕过技巧浅谈
- flask 流式响应 RuntimeError: working outside of request context
- shell 学习笔记(19)
- HBase 写优化之 BulkLoad 实现数据快速入库
- 玩转 Linux 之:由 Nginx log rotation 聊聊 mv 的妙用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- App为什么会crash?一篇文章带你探究根本原因 ,事情没有你想得那么简单!
- MySQL 8.0新特性 — 用户管理
- Java15的新特性
- ZooKeeper到底为Kafka的做了什么牺牲?
- Flutter原理:三棵重要的树(渲染过程、布局约束、应用视图的构建等)
- FlutterDojo设计之道—状态管理之路(六)
- Day9.函数进阶
- 关于requests.exceptions.SSLError: HTTPSConnectionPool
- Day10.高阶函数介绍
- python提示警告InsecureRequestWarning
- Day11.类和对象这回事儿
- Day12.魔法方法&方法重写
- Linux基础第一课——基础知识了解
- 【Vue CLI】手把手教你撸插件
- Linux基础第二课——系统架构