当前位置:网站首页>leetcode刷题:动态规划04(不同路径)
leetcode刷题:动态规划04(不同路径)
2022-07-23 14:58:00 【涛涛英语学不进去】
62.不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。
问总共有多少条不同的路径?
示例 1:

- 输入:m = 3, n = 7
- 输出:28
示例 2:
- 输入:m = 2, n = 3
- 输出:3
解释: 从左上角开始,总共有 3 条路径可以到达右下角。
- 向右 -> 向右 -> 向下
- 向右 -> 向下 -> 向右
- 向下 -> 向右 -> 向右
示例 3:
- 输入:m = 7, n = 3
- 输出:28
示例 4:
- 输入:m = 3, n = 3
- 输出:6
提示:
- 1 <= m, n <= 100
- 题目数据保证答案小于等于 2 * 10^9
- 根据数据的维度,建立一维或者二维数据区域,这是二维区域,就做成二维表格
- 初始化好值,因为第一行和第一列只要一种路线,所以初始化值为1
- 分析dp [i]的含义,dp [ i ]为当当前位置有多少种走法,就是把从左边来的所有走法和从上面来的所有走法加起来
- 根据dp[i]怎么来到的,构建赋值等式,也就是状态转移方程
package com.programmercarl.dynamic;
/** * @ClassName UniquePaths * @Descriotion TODO * @Author nitaotao * @Date 2022/7/23 9:13 * @Version 1.0 * https://leetcode.cn/problems/unique-paths/ * 62. 不同路径 **/
public class UniquePaths {
public int uniquePaths(int m, int n) {
/** * dp[ i ] 到达本位置有多少种走法 */
int[][] dp = new int[m][n];
dp[0][0] = 0;
//初始化第一行
for (int i = 0; i < n; i++) {
dp[0][i] = 1;
}
//初始化第一列
for (int i = 1; i < m; i++) {
dp[i][0] = 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];
}
}

边栏推荐
- 一加OnePlus 10T的一系列规格在产品发布前被披露
- xlinx pcie xvc
- 转账业务追加日志(事务的传播行为).
- 【redis入门系列】redis搭建主从服务器
- Detailed explanation of SQL error reporting and blind annotation
- What about the new retail e-commerce platform? Can we realize the digital transformation of traditional retail enterprises?
- Visualization of network infrastructure
- Mysql: MySQL problem that is not a MySQL problem
- Food safety chocolate is also true or false? How much do you know about it
- SQL報錯盲注詳解
猜你喜欢

nVisual综合布线管理软件与网管软件的区别

面试官:如何用 Redis 实现分布式锁?

【作业】研一(互联网新技术作业)

Mysql: MySQL problem that is not a MySQL problem

爱可可AI前沿推介(7.23)

SQL bool盲注和时间盲注详解
Do you dare to use BigDecimal without mastering these pits?

What about the new retail e-commerce platform? Can we realize the digital transformation of traditional retail enterprises?

网络基础设施可视化
一加OnePlus 10T的一系列规格在产品发布前被披露
随机推荐
@Bean 注解的方法调用多次会创建多个bean 实例吗
在 Kotlin 中使用 Flow Builder 创建流
Literature learning (part100) -- an introduction to autoencoders
Pymoo learning (3): use multi-objective optimization to find the set of optimal solutions
Software configuration | Anaconda download, installation, environment configuration and uninstall
工业物联网中的时序数据
Food safety | ham sausage lunch meat, is it really so unbearable?
单细胞文献学习(part6)--ForestFireClustering for sc sequencing combines iterative label propagation with ...
SQL报错盲注详解
makefile 常用函数notdir、wildcard、patsubst
使用 Preparedstatement 选择和显示记录的 JDBC 程序
线程池,我是谁?我在哪儿?
PPPoE协议讲解以及拨号过程Wireshark抓包解析
Leetcode question brushing record
Explain SQL optimization in detail
Preliminary understanding of string
一加OnePlus 10T的一系列规格在产品发布前被披露
Detailed explanation of SQL error reporting and blind annotation
为啥一问 JVM 就 懵B ???
JS tool CECP