20200218:不同路径(leetcode62)
不同路径
- 题目
- 思路与算法
- 代码实现
题目
纠正题目的一点小错误,按照题意应该指的是m行n列,所以下面这个图的表述有点问题。
思路与算法
- 单纯计算的话,高中概率方面的题,排列组合知识就可以解决。
- 不依靠上述方法,根据动态规划来做:
- 方法一:从(0,0)到(m-1,n-1)只能向下或向右,即(0,0)只能到达(0,1),(1,0)。
- 方法二:从(m-1,n-1)到(0,0),倒着来,(m-1,n-1)只能是从(m-2,n-1)或者(m-1,n-2)来的。
- 以此来进行代码实现。
代码实现
方法一:
package com.immunize.leetcode.uniquePath1;public class Solution {public int uniquePaths(int m, int n) {// 特殊情况:起点即终点if (m == 1 && n == 1) {return 1;}// 当前处于(1,1),终点为(m,n)return Path(1, 1, m, n);}public int Path(int x, int y, int m, int n) {// 已经处于终点if (x >= m && y >= n) {return 0;}// 处于最下面一排或者最右边一列if (x >= m || y >= n) {return 1;}// 往下走,有多少种走法int down = Path(x, y + 1, m, n);// 往右走,有多少种走法int right = Path(x + 1, y, m, n);// 从当前(x,y)出发,走到(m,n),共有多少种走法return down + right;}}
方法二:
class Solution {public int uniquePaths(int m, int n) {int [][] res = new int[m][n];for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(i==0 || j==0){res[i][j] = 1;}else{res[i][j] = res[i-1][j] + res[i][j-1];}}}return res[m-1][n-1];}
}
20200218:不同路径(leetcode62)相关推荐
- 不同路径—leetcode62
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为" ...
- 招银网络科技提前批笔试
选择题 编程题 有一个m*n的网格,小A位于网格的左上角(0,0),每次只能向下或向右移动一步,请编程求小A到达网格右下角(m-1,n-1)共有多少条路径 leetcode62 学校举行运动会,使用3 ...
- leetcode62 不同路径
题目如下 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ).机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为&q ...
- leetcode62. 不同路径
一:题目 二:上码 class Solution {public:/**思路:1.分析题意:2.动态规划五步走:1>:确定dp数组和其下标的含义dp[i][j]为到达二维数组下标为i,j的路径条 ...
- LeetCode--62.不同路径(排列组合,动态规划)
不同路径(排列组合,动态规划) 1. 题目描述 2. 题目分析 3. C语言实现 3.1 动态规划 3.2 排列组合 1. 题目描述 难度:中等 2. 题目分析 这是一道典型的动态规划问题,这道题有两 ...
- LeetCode62. 不同路径(java解法——动态规划)
1 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ).机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记 ...
- day04--java高级编程:API:Object、String,Buffer、包装类、日期、java比较器、BigInteger、进制、length区别,IO流,路径,序列化id,编码
1 API 1.1 Api文档下载 1.API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口,一切可以调用的东西都是API. ...
- 伍六七带你学算法 动态规划 ——不同路径
力扣 62. 不同路径 难度 中等 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格 ...
- Go 语言同一个包内函数调用、包名和实际路径最后一个目录不一致问题
以下代码的 GOPATH 路径为 "/home/wohu/GoCode" 1. 同一个包内的函数可以相互调用 代码结构如下: wohu@wohu:~/GoCode/src$ tre ...
最新文章
- leangoo大讲堂--北京站
- 开发函数计算的正确姿势——支持 ES6 语法和 webpack 压缩
- webservice-概念性学习(一)
- 全部python编程语言-编程语言高质量代码的优秀Python工具
- 《中国编程挑战赛--资格赛》赛题及解答
- linux fcitx 守护进程,解决ubuntu下输入法切换问题
- Algorithms_算法思想_递归分治
- Android 应用内启动第三方应用
- 合并果子(Vijos P1097)
- 小数变百分数_小数除法三要“点”
- 无法定位程序输入点 InitializeCriticalSectionEx 于动态链接库 Kernel32.dll 上 问题解决方法
- 某一天,忽然发现自己坚持不下去了。(无关计算机,只是一些自己的困惑和感想)
- web前端三大主流框架
- 机房巡检为什么检查指示灯_小工具需要“检查引擎”指示灯
- 如何给自己的照片制作水印
- 一种通用的Qt数据库接口操作方法
- 详细理解script标签
- win10怎么新建计算机用户,Win10添加用户教程(Microsoft微软帐户、本地帐户、儿童帐户)...
- 杰理之GSENSOR【篇】
- Detecting Holes in Point Set Surfaces 笔记