动态规划专题之不同路径

LC 62 不同的路径

dp数组以及下标的含义

dp[i][j]:从起点到第i行第j列的方案数为dp[i][j]

递推公式

这么想,当前状态可以由哪些状态得到?由于它只能向下或向右走,所以就只能向下走到第i行第j列或向右走到第i行第j列
所以dp[i][j]=dp[i-1][j]+dp[i][j-1]

dp数组如何初始化

当i等于1的时候,dp[0][1]和dp[1][0]的值是多少?从起点到dp[0][1]的方案就只有一种,就是向右走,其实dp[0][i]的值都是1,因为就只有一种方案就是一直向右走,那么对于dp[1][0]呢?也只有一种方案1,dp[1][i]都是1

遍历顺序

由于dp[i][j]=dp[i-1][j]+dp[i][j-1],所以应该从上到下,从左到右

打印dp数组

代码

class Solution {public int uniquePaths(int m, int n) {int[][] dp = new int[m][n];Arrays.fill(dp[0],1);int i=0,j=0;for(i=0;i<m;i++)dp[i][0]=1;for(i=1;i<m;i++){for(j=1;j<n;j++)dp[i][j] = dp[i-1][j]+dp[i][j-1];}return dp[m-1][n-1];}
}

扩展

也就是LC 63,这个多了一个障碍物的东西,待会再写吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/762259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux之shell脚本基础

1.构建基础脚本 1.1 创建shell脚本 1.1.1 第一行需要指定使用的shell # 用作注释行.shell并不会处理脚本中的注释行,但是第一行的注释,会告诉shell使用哪个shell来运行脚本. #!/bin/bash 1.1.2 让shell找到你的脚本 直接运行脚本会提示-bash: a.sh: command not found.因…

jupyter notebook或jupyterlab运行于/切换指定的conda虚拟环境或显示所有环境方法

Jupyter 在一个名为 kernel 的单独进程中运行用户的代码。kernel 可以是不同的 Python 安装在不同的 conda 环境或虚拟环境&#xff0c;甚至可以是不同语言&#xff08;例如 Julia 或 R&#xff09;的解释器。 如何使用 conda 环境和 Jupyter 有三种方法&#xff1a; 1. 在 c…

ES同步失败维护步骤(适用于修改了部分主键值导致同步失败)

维护步骤&#xff1a; 登录到ES服务器&#xff1a;192.168.111.141。停止 Canal 和 Canal-Adapter 服务&#xff1a;cd /home/xiangtan/canal/bin ./stop.shcd /home/xiangtan/canal-adapter/bin ./stop.sh确定修改了主键值的表&#xff0c;例如 tbl_sparking&#xff0c;使用…

一套键盘鼠标控制两台电脑 Mouse Without Borders

有两台电脑&#xff0c;一台笔记本一台台式机&#xff0c;拥有各自拥有鼠标和键盘&#xff0c;但总是需要切换&#xff0c;感觉太麻烦&#xff0c;想找个简单的方式&#xff0c;不需要额外操作就能同时操作这两台电脑。无意间发现了一个微软软件Mouse Without Borders&#xff…

算法体系-13 第十三 二叉树的基本算法+二叉树的递归套路

一 完全二叉树的判断 1.1 描述 完全二叉树&#xff1a;他每一层都是满的&#xff0c;即使不满也是最后一层不满&#xff0c;最后一层不满也是从左到右变满的&#xff1b;话句话说就是 完全二叉树从根结点到倒数第二层满足完美二叉树&#xff0c;最后一层可以不完全填充&#x…

MySQL数据库 - 索引

一. 索引的相关知识 1. 索引的概念 是一个排序的列表&#xff0c;存储着索引值和这个值所对应的物理地址&#xff08;类似于C语言的链表通过指针指向数据记录的内存地址&#xff09;使用索引后可以不用扫描全表来定位某行的数据&#xff0c;而是先通过索引表找到该行数据对应…

How to install PyAlink on Ubuntu 22.04

How to install PyAlink on Ubuntu 22.04 环境准备准备conda python环境创建项目虚拟环境激活虚拟环境 安装脚本细节 环境准备 准备conda python环境 关于如何安装conda环境&#xff0c;可以参阅我此前整理的如下文章&#xff1a; How to install Miniconda on ubuntu 22.04…

一句话讲清脏读 、丢失修改、不可重复读、幻读

脏读 : 一个事务读取到了另一个事务回滚之前的数据. 丢失修改 : 两个事务同时访问一个数据时,一个事务在修改的时候不能获取到另一个事务先前已经修改过的内容. 不可重复读:一个事务A内在第二次查询的时候,查到了另一个事务B在A事务第一次查询之后修改的数据. 幻读&#xff…

【Godot 3.5控件】用TextureProgress制作血条

说明 本文写自2022年11月13日-14日&#xff0c;内容基于Godot3.5。后续可能会进行向4.2版本的转化。 概述 之前基于ProgressBar创建过血条组件。它主要是基于修改StyleBoxFlat&#xff0c;好处是它几乎可以算是矢量的&#xff0c;体积小&#xff0c;所有东西都是样式信息&am…

基于Arduino IDE 野火ESP8266模块WIiFi开发

一、函数介绍 头文件 #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h>ESP8266WiFi.h库主要用于连接单个WiFi网络。如果需要连接到多个WiFi网络&#xff0c;例如在需要切换不同网络或者备用网络时&#xff0c;可以使用ESP8266WiFiMulti.h头文件&#xff…

mysql的基本知识点-排序和分组

分组&#xff08;GROUP BY&#xff09; GROUP BY 语句用于结合聚合函数&#xff0c;根据一个或多个列对结果集进行分组。例如&#xff0c;假设你有一个包含销售数据的表&#xff0c;并且你想按产品类别计算总销售额。你可以使用 GROUP BY 和 SUM() 函数来实现这一点。 SELECT…

策略模式业务实战

一、策略模式实现任务分发 1.新建策略接口 package com.ehe.elder.strategy;public interface ElderJobOrderStrategy {void notifyMethod(String outTradeNo); }2.新建策略实现类 Slf4j Component public class ElderJobOrderGranter implements ElderJobOrderStrategy {pu…

【Leetcode】top 100 多维动态规划

62 不同路径 一个机器人位于一个 m x n 网格的左上角&#xff0c;机器人每次只能向下或者向右移动一步&#xff0c;机器人试图达到网格的右下角&#xff0c;问总共有多少条不同的路径&#xff1f; 分析&#xff1a;dp[i][j] 代表走到 (i, j) 的路径总和数 递推规律&#xff1a…

java.lang.String final

关于String不可变的问题&#xff1a;从毕业面试到现在&#xff0c;一个群里讨论的东西&#xff0c;反正码农面试啥都有&#xff0c;这也是我不咋喜欢面试代码&#xff0c;因为对于我而言&#xff0c;我并不喜欢这些面试。知道或不知道基本没啥含氧量&#xff0c;就是看看源代码…

构造函数调用规则

默认情况下&#xff0c;c编译器至少给一个类添加3个函数 1&#xff0e;默认构造函数(无参&#xff0c;函数体为空) 2&#xff0e;默认析构函数(无参&#xff0c;函数体为空) 3&#xff0e;默认拷贝构造函数&#xff0c;对属性进行值拷贝(“”号赋值) 构造函数调用规则如下&…

大数据,或称巨量资料

大数据&#xff0c;或称巨量资料&#xff0c;指的是在传统数据处理应用软件不足以处理的大或复杂的数据集。大数据也可以定义为来自各种来源的大量非结构化或结构化数据。从学术角度而言&#xff0c;大数据的出现促成广泛主题的新颖研究&#xff0c;这也导致各种大数据统计方法…

【ZooKeeper】2、安装

本文基于 Apache ZooKeeper Release 3.7.0 版本书写 作于 2022年3月6日 14:22:11 转载请声明 下载zookeeper安装包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz解压 tar -zxvf apache-zookeeper-3.7.0-b…

【Python 48小时速成 8】函数

在 Python 中&#xff0c;函数是一段可重复调用的代码块&#xff0c;用于执行特定任务。函数可以接受参数并返回值。下面是函数的基本结构以及示例代码&#xff1a; # 示例代码一&#xff1a;定义一个简单的函数 def greet():print("Hello, World!") # 函数体内的代…

界面组态软件---昆仑通态

昆仑通态参考资料 HMI人机界面 昆仑通态专题&#xff08;三&#xff09;&#xff1a;MCGS嵌入版组态软件的报警 HMI触摸屏编程

数据结构从入门到精通——二叉树的实现

二叉树的实现 前言一、二叉树链式结构的实现1.1前置说明1.2二叉树的手动创建 二、二叉树的遍历2.1 前序、中序以及后序遍历二叉树前序遍历二叉树中序遍历二叉树后序遍历2.2 层序遍历练习 三、二叉树的具体代码实现二叉树的节点个数二叉树叶子节点个数二叉树第k层节点个数二叉树…