当前位置:网站首页>golang刷leetcode动态规划(11)不同路径
golang刷leetcode动态规划(11)不同路径
2022-08-02 18:54:00 【用户9710217】
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。
问总共有多少条不同的路径?
例如,上图是一个7 x 3 的网格。有多少可能的路径?
说明:m 和 n 的值均不超过 100。
示例 1:
输入: m = 3, n = 2
输出: 3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向右 -> 向下
2. 向右 -> 向下 -> 向右
3. 向下 -> 向右 -> 向右
示例 2:
输入: m = 7, n = 3
输出: 28
解题思路:
1,这个问题可以拆解成子问题,并且可以用子问题的结果来求最终结果,典型的动态规划
2,step[i,j]路径数=step[i,j-1] +step[i-1,j]
3,用到了i-1,j-1;所以用递增的方式
代码
func uniquePaths(m int, n int) int {
step:=make([][]int,m)
for i:=0;i<m;i++{
step[i]=make([]int,n)
step[i][0]=1
}
for i:=0;i<n;i++{
step[0][i]=1
}
for i:=1;i<m;i++{
for j:=1;j<n;j++{
step[i][j]=step[i-1][j]+step[i][j-1]
}
}
return step [m-1][n-1]
}
边栏推荐
- 项目分析(复杂嵌入式系统设计)
- 二本 两年经验读者 阿里P6面经
- Functional test points for time, here is a comprehensive summary for you
- LeetCode每日一题(324. Wiggle Sort II)
- 博云入选 Gartner 中国 DevOps 代表厂商
- Mobile Banking Experience Test: How to Get the Real User Experience
- 去年,一道蚂蚁金服笔试题,还行,中等难度
- 栈、队列和数组
- EasyCVR平台通过国标GB28181接入柯达NVR显示注册失败,该如何解决?
- golang刷leetcode 经典(12) 完全二叉树插入器
猜你喜欢
动态折线图,制作原来是这么简单
openlayers不常用接口介绍
Gradle系列——Gradle的build.gradle文件详情,项目发布(基于Gradle文档7.5)day3-3
LSB利器-zsteg
香农与信息论三大定律
86.(cesium之家)cesium叠加面接收阴影效果(gltf模型)
我靠这套笔记自学,拿下字节50万offer....
Why young people are snapping up domestic iPhone, because it is much cheaper and more populist
Detailed explanation of AtomicInteger
治疗 | 如何识别和处理消极想法
随机推荐
[深入研究4G/5G/6G专题-49]: 5G Link Adaption链路自适应-5-上行链路自适应ULLA-PUSCH信道
1.0.0到1.0.2的底层数据库表的更新,需要再重新自建数据库吗?
Geoserver + mysql + openlayers problem
阿里35+老测试员生涯回顾,自动化测试真的有这么吃香吗?
LSB利器-zsteg
WPF login with Prism
AI智能剪辑,仅需2秒一键提取精彩片段
你想要的宏基因组-微生物组知识全在这(2022.8)
ssh configuration
二本 两年经验读者 阿里P6面经
指针常量和常量指针概述
进程与线程
Why young people are snapping up domestic iPhone, because it is much cheaper and more populist
golang面试题
如何获取EasyCVR平台设备通道的RTMP视频流地址?
3 and a half years of testing experience, I don't have 20K, it seems it's time to change jobs
视频隐写一
2022最新彩虹表
Mysql基础篇(视图)
新公链时代的跨链安全性解决方案