力扣62. 不同路径

devtools/2024/10/18 0:34:18/

Problem: 62. 不同路径

文章目录

  • 题目描述
  • 思路
  • 复杂度
  • Code

题目描述

在这里插入图片描述在这里插入图片描述

思路

1.定义状态:定义二维数组dp[i][j],用于表示记录当前到矩阵(i,j)位置处有多少不同路径
2.状态初始化:由题目易知初始时位于矩阵的右上角,而且机器人只能向右或者向下移动,所以我们将dp数组的第一行列(除去dp[0][0]位置)均赋值为1,表示机器人走到此位置只能有一条路径;
3.动态转移:由于机器人只能向右或者向下移动所以易知dp[i][j] = dp[i - 1][j] + dp[i][j - 1]

复杂度

时间复杂度:

O ( m × n ) O(m \times n) O(m×n);其中 m m m是矩阵的行数, n n n是矩阵的列数

空间复杂度:

O ( m × n ) O(m \times n) O(m×n)

Code

class Solution {
public:/// <summary>/// Find the sum of all paths/// from the upper right corner to the lower left corner of the matrix/// </summary>/// <param name="m"> The number of rows of the matrix </param>/// <param name="n"> The number of columns of the matrix </param>/// <returns> int </returns>int uniquePaths(int m, int n) {if (m == 1 && n == 1) {return 1;}vector<vector<int>> dp(m, vector<int>(n));for (int j = 1; j < n; ++j) {dp[0][j] = 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][j - 1] + dp[i - 1][j];}}return dp[m - 1][n - 1];}
};

http://www.ppmy.cn/devtools/7073.html

相关文章

UE5 Prediction 预测

在介绍预测功能前&#xff0c;先问个问题&#xff0c;为啥要有这个功能&#xff1f; 这个功能是在网络游戏所需的&#xff0c;单机游戏不需要。网络游戏主要牵扯到一个网络交互的问题&#xff0c;客户端和服务器之间交互是有延迟的&#xff0c;如果将操作数据提交等待服务器返回…

java中的继承

java中的继承 继承的关键字&#xff08;extends&#xff09; 文章目录 java中的继承方法重写方法重载super关键字 方法重写 两个方法的方法签名必须一致&#xff08;方法名和参数一样&#xff09;如果父类的方法的权限修饰符是private&#xff0c;那么该方法不能重写&#xf…

小试牛刀!

1.从双倍数组中还原原数组&#xff08;力扣&#xff0c;vector&#xff09; java式c解法。 class Solution { public:vector<int> findOriginalArray(vector<int>& changed) {int n changed.size();if(n % 2 1) return {};map<int, int> mp;for(int c…

单例模式详解

什么是单例模式 首先&#xff0c;单例模式是一种设计模式&#xff0c;按字面意思&#xff0c;指一个类只能创建一个对象&#xff0c;当创建出多个对象的时候&#xff0c;就会出现报错异常 单例模式为何出现&#xff1f; 1.资源共享:某些情况下&#xff0c;多个对象都需要共享一…

【Python】如何在Ubuntu上设置Python脚本开机自启

你不知道我为什么狠下心 盘旋在你看不见的高空里 多的是 你不知道的事 蝴蝶眨几次眼睛 才学会飞行 夜空洒满了星星 但几颗会落地 我飞行 但你坠落之际 很靠近 还听见呼吸 对不起 我却没捉紧你 &#x1f3b5; 王力宏《你不知道的事》 前置要求 确保你的Ub…

伪类与为元素的区别

一、两者的定义 1.伪类&#xff08;pseudo-class&#xff09;是一个以冒号作为前缀&#xff0c;被添加到一个选择器末尾的关键字&#xff0c;当你希望样式在特定状态才被呈现到指定的元素时&#xff0c;你可以往元素的选择器后面加上对应的伪类。 2.伪元素用于创建一些不在文档…

学习多线程CAS及相关知识

多线程 CAS实现自旋锁CAS的ABA问题Callable接口ReentrantLock信号量SemaphoneCountDownLatch组件小结 书接上回, 上篇博客中总结了synchronized的原理和CAS的实现原子类, 我们将要继续学习CAS实现自旋锁, CAS中的ABA问题, Callable创建线程等等..CAS实现自旋锁 首先我们来看一…

Kotlin 中如何使用 Fuel 库进行代理切换?

随着互联网的快速发展&#xff0c;网络编程在现代软件开发中变得越来越重要。无论是构建移动应用、Web 应用还是后端服务&#xff0c;都需要与网络进行交互。而代理服务器在网络通信中扮演着至关重要的角色&#xff0c;它可以帮助我们实现匿名访问、提高访问速度、解决网络限制…