【Hot100】LeetCode—62. 不同路径

news2024/9/20 17:00:21

目录

  • 1- 思路
    • 题目识别
    • 动规五部曲
  • 2- 实现
    • 62. 不同路径——题解思路
  • 3- ACM 实现


  • 原题链接:62. 不同路径

1- 思路

题目识别

  • 识别1 :给一个二维矩阵,每次只能向下或者向右移动一步
  • 识别2:求解到达最右下角的路径数。

动规五部曲

  • 1- 定义 dp 数组,确定含义
    • dp[i][j] 代表到达单元格 [i][j] 的路径数
  • 2- 递推公式
    • 因为只能向下或者向右移动,因此当前位置的方式由两个方向推导而来
    • dp[i][j] = dp[i-1][j] + dp[i][j-1]
  • 3- 初始化
    • 第一行,第一列的方式都是 1
  • 4- 遍历顺序,二维遍历 分别都从 1 开始

2- 实现

62. 不同路径——题解思路

在这里插入图片描述

class Solution {
    public int uniquePaths(int m, int n) {
        // 1. 定义 dp
        int[][] dp = new int[m][n];

        // 2. 递推
        // dp[i][j] = dp[i-1][j] + dp[i][j-1]

        // 3. 初始化
        for(int i = 0 ; i < m ; i++){
            dp[i][0] = 1;
        }
        for(int i = 0 ; i < n;i++){
            dp[0][i] = 1;
        }

        // 4.遍历顺序
        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];
    }
}

3- ACM 实现

public class uniquePaths {

    public static int uniquePaths(int m, int n) {
        // 1. 定义 dp
        int[][] dp = new int[m][n];

        // 2. 递推
        // dp[i][j] = dp[i-1][j] + dp[i][j-1]

        // 3. 初始化
        for(int i = 0 ; i < m ; i++){
            dp[i][0] = 1;
        }
        for(int i = 0 ; i < n;i++){
            dp[0][i] = 1;
        }

        // 4.遍历顺序
        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];
    }


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n = sc.nextInt();
        System.out.println("结果是"+uniquePaths(m,n));
    }
}

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

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

相关文章

Ubuntu WSL使用技巧

0 Preface/Foreword 1 默认为root用户 当下载完成Ubuntu之后&#xff0c;首次登录&#xff0c;当完成初始化后&#xff0c;提示输入新的用户名时候&#xff0c;直接点击右上角的X按钮&#xff0c;再重新登陆&#xff0c;系统会默认使用root权限登录。 2 root用户和普通用户切换…

力科示波器桌面分析远程控制软件

软件在这里下载&#xff1a;Teledyne LeCroy - MAUI Studio - Remote and Offline PC Analysis Software for an Oscilloscope 我去年因为要分析示波器波形&#xff0c;下载过它的MAUI Studio。它的免费版需要逐年注册。注册是免费的。示波器从业人员和工程技术人员可以看看示…

基于微信小程序的鲜花销售系统设计与实现毕业设计-附源码

鲜花销售系统|鲜花销售系统源码|鲜花销售小程序|基于微信小程序的鲜花销售系统设计与实现 鲜花销售系统源码&#xff1a;鲜花销售微信小程序具有鲜花销售信息管理功能的选择&#xff0c;鲜花销售微信小程序采用java技术&#xff0c;基于mysql开发&#xff0c;实现了首页、个人…

企业常用的源代码加密软件有哪些?10款源代码加密软件推荐

在现代企业中&#xff0c;源代码保护变得尤为重要&#xff0c;因为源代码不仅是软件的核心资产&#xff0c;还可能包含商业秘密和知识产权。因此&#xff0c;许多企业都在寻找合适的源代码加密软件来保护其代码的安全性。本文将为您介绍10款常用的源代码加密软件&#xff0c;帮…

4款工具搞定固态硬盘数据恢复!一起来看看!

数据丢失&#xff0c;这可能是每个电脑用户都曾遇到过的噩梦。今天&#xff0c;我就来聊聊我亲身体验过的四款数据恢复软件&#xff0c;看看它们在帮我从硬盘的“深渊”中捞回宝贵数据时的表现如何呢&#xff1f;一起来看看吧&#xff01; 一、福昕数据恢复 网址&#xff1a;h…

油电叉车倒车防撞报警系统精准探测

油电叉车倒车防撞报警系统通过集成最新的传感器技术、图像识别算法以及智能控制技术‌&#xff0c;通过实时监测叉车周围环境中的障碍物、行人和其他叉车&#xff0c;及时发出警报&#xff0c;避免可能的碰撞事故。 油电叉车倒车防撞报警系统功能详解 精准探测 叉车倒车时&a…

怎么仿同款小程序的开发制作方法介绍

很多老板想要仿小程序系统&#xff0c;就是想要做个和别人界面功能类似的同款小程序系统&#xff0c;咨询瀚林问该怎么开发制作&#xff1f;本次瀚林就为大家介绍一下仿制同款小程序系统的方法。 1、确认功能需求 想要模仿同款小程序系统&#xff0c;那么首先需要找到自己想要…

C#使用handle实现获取占用指定文件或文件夹的进程(Locksmith功能)

前言&#xff1a;很多时候&#xff0c;一些不知道啥进程&#xff0c;把你的文件给占用了&#xff0c;然后就没办法删掉或者做其他操作。如果使用Locksmith功能&#xff0c;就可以实现快速锁定是哪个进程在搞事情&#xff0c;把对应进程干掉就可以了。下面内容演示C#使用几行代码…

Redis集群slot迁移改造实践

作者&#xff1a;来自 vivo 互联网存储团队- Xu Xingbao Redis 集群经常需要进行在线水平扩缩容&#xff0c;实际操作过程中发现迁移期间服务时延剧烈抖动&#xff0c;业务侧感知明显&#xff0c;为了应对以上问题对原生 Redis 集群 slot 迁移功能进行优化改造。 一、背景介绍…

乔迁新址,盛启新章!聚铭网络河北办事处盛大开业

2024年9月10日&#xff0c;金秋九月&#xff0c;阳光灿烂。在这样一个美好的日子里&#xff0c;聚铭网络河北办事处正式迎来了乔迁之喜并盛大开业。随着公司业务规模的快速扩张&#xff0c;原有的办公空间已经不足以支撑未来的增长&#xff0c;新址的启用不仅代表了我们迈出的一…

5V*0.5A低压降二极管芯片 CH213

概述 CH213是带限流功能的低压降理想二极管芯片。芯片内部集成了过流保护、短路保护、过温保护、电源极性保护等模块&#xff0c;额定5V*0.5A&#xff0c;支持5V电压下不超过1A电流的直流应用&#xff0c;在 VO输出端发生过流时可以限制电流从而保护供电系统&#xff0c;在输入…

Vue路由一(简介、分类、基本使用、注意事项)

目录 1. 简介2. 路由的分类3. 基本使用4. 注意事项 1. 简介 路由就是一组key:value的对应关系。vue可能是function或component多个路由&#xff0c;需要经过路由器管理 是为了实现SPA(single page web application)单页面应用。以前需要实现多个html&#xff0c;现在只需实现一…

零基础也能掌握!大模型训练指南

在这个信息爆炸的时代&#xff0c;人工智能技术正以前所未有的速度渗透到我们生活的方方面面。从智能手机上的语音助手到自动驾驶汽车&#xff0c;AI的应用无处不在。而在这些令人惊叹的技术背后&#xff0c;大语言模型&#xff08;LLM&#xff09;扮演着至关重要的角色。它们不…

Navicat On-Prem Server 2.0 | MySQL与MariaDB基础管理功能正式上云

近日&#xff0c;Navicat 发布了 Navicat On-Prem Server 2.0 的重大版本更新。这标志着这款自2021年首发的私有云团队协作解决方案迈入了一个崭新的阶段。此次2.0版本的飞跃性升级&#xff0c;核心聚焦于MySQL与MariaDB基础管理功能的全面革新与强化&#xff0c;赋予了用户的操…

当 PLC 遇见 “IT”

IT&OT 深度融合工控人加入PLC工业自动化精英社群 IT & OT integration 当今不断发展的工业自动化世界&#xff0c;在智能、高效和快速的系统和软件应用中&#xff0c;数据扮演着越来越重要的角色。传统的 IT 网络中&#xff0c;提供了丰富多彩的规范和协议&#xff0…

PHP即刻送达同城派送小程序系统

即刻送达&#xff0c;同城派送小程序系统让生活更便捷 &#x1f680; 瞬间连接&#xff0c;即刻送达的奇迹 你是否曾经因为等待快递而焦急万分&#xff1f;是否渴望有一种方式能让物品像魔法一样瞬间出现在你面前&#xff1f;现在&#xff0c;有了“即刻送达同城派送小程序系…

交易所站队“NEIRO”?MEME内战进行时

加密市场总有“狗”传奇。 日前&#xff0c;此前一度被称为新一代“狗狗币”的NEIRO合约被OKX 和 Binance先后上线&#xff0c;在交易所推动下&#xff0c;NEIRO迅速暴涨超6倍。而这一上线&#xff0c;也正式宣告分庭抗礼的竞品“Neiro”走向缓慢的消亡。 大小写MEME的最终结局…

快人一步迅为LPDDR5版本瑞芯微RK3588核心板升级了

性能强--iTOP-3588开发板采用瑞芯微RK3588处理器&#xff0c;是全新一代ALoT高端应用芯片&#xff0c;采用8nm LP制程&#xff0c;搭载八核64位CPU&#xff0c;四核Cortex-A76和四核Cortex-A55架构&#xff0c;主频高达2.4GHZ&#xff0c;8GB内存&#xff0c;32GB EMMC。四核心…

小白学大模型:四种文本解码策略

在大型语言模型&#xff08;LLM&#xff09;的迷人世界中&#xff0c;模型架构、数据处理和优化常常成为关注的焦点。但解码策略在文本生成中扮演着至关重要的角色&#xff0c;却经常被忽视。 在这篇文章中&#xff0c;我们将通过深入探讨贪婪搜索和束搜索的机制&#xff0c;以…

电机驱动开发之主控板

目录 1.主要器件选型2.原理图设计电源调理最小系统通讯接口显示器 3.PCB绘制4.打板验证5.总结 1.主要器件选型 器件参数理由MCUSTM32CBT6资源丰富价格低廉LDOASM1117&#xff08;5V-3.3V&#xff09;常见CANSIT1057T常见UARTType-C CH340使用常见Type-c线通讯即可屏幕ips TFT资…