当前位置: 首页 > news >正文

【Leecode】Leecode刷题之路第62天之不同路径

题目出处

62-不同路径-题目出处

题目描述

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

个人解法

思路:

todo

代码示例:(Java)

todo

复杂度分析

todo

官方解法

62-不同路径-官方解法

方法1:动态规划

思路:

在这里插入图片描述

代码示例:(Java)

public class Solution1 {public int uniquePaths(int m, int n) {int[][] f = new int[m][n];for (int i = 0; i < m; ++i) {f[i][0] = 1;}for (int j = 0; j < n; ++j) {f[0][j] = 1;}for (int i = 1; i < m; ++i) {for (int j = 1; j < n; ++j) {f[i][j] = f[i - 1][j] + f[i][j - 1];}}return f[m - 1][n - 1];}}

此外,由于 f(i,j) 仅与第 i 行和第 i−1 行的状态有关,因此我们可以使用滚动数组代替代码中的二维数组,使空间复杂度降低为 O(n)。

public class Solution2 {public int uniquePaths(int m, int n) {int[] f = new int[n];for (int i = 0; i < n; ++i) {f[i] = 1;}for (int i = 1; i < m; ++i) {for (int j = 1; j < n; ++j) {f[j] += f[j - 1];}}return f[n - 1];}}

复杂度分析

在这里插入图片描述

方法2:组合数学

思路:

在这里插入图片描述

代码示例:(Java)

public class Solution3 {public int uniquePaths(int m, int n) {long ans = 1;for (int x = n, y = 1; y < m; ++x, ++y) {ans = ans * x / y;}return (int) ans;}}

复杂度分析

在这里插入图片描述

考察知识点

收获

Gitee源码位置

62-不同路径-源码

http://www.lryc.cn/news/494080.html

相关文章:

  • 基于深度学习的手势识别算法
  • helm部署golang服务
  • DreamCamera2相机预览变形的处理
  • Mysql误删表中数据与误删表的恢复方法
  • lapack、blas、solver库的区别和联系
  • deepin 安装 chrome 浏览器
  • 永久免费的PDF万能水印删除工具
  • Linux网络——NAT/代理服务器
  • 大米中的虫子检测-检测储藏的大米中是否有虫子 支持YOLO,VOC,COCO格式标注,4070张图片的数据集
  • 基于Java的小程序电商商城开源设计源码
  • node.js基础学习-fs模块-文件操作(六)
  • 设计模式:11、迭代器模式(游标)
  • Oracle SCN与时间戳的映射关系
  • 【广告投放系统】头条可视化投放平台vue3+element-plus+vite落地历程和心得体会
  • Gazebo插件相机传感器(可订阅/camera/image_raw话题)
  • 华三(HCL)和华为(eNSP)模拟器共存安装手册
  • 信息学奥赛一本通 1448:【例题1】电路维修 | 洛谷 P4667 [BalticOI 2011 Day1] Switch the Lamp On 电路维修
  • k8s删除网络组件错误
  • MySQL之JDBC
  • 音视频入门基础:MPEG2-TS专题(10)——PAT简介
  • ElementUI:el-drawer实现在父组件区域内打开抽屉组件非全屏
  • Vue教程|搭建vue项目|Vue-CLI2.x 模板脚手架
  • jmeter学习(7)命令行控制
  • BGP协议路由黑洞
  • 存储结构及关系(一)
  • 玄机应急:linux入侵排查webshell查杀日志分析
  • python爬虫安装教程
  • 田忌赛马五局三胜问题matlab代码
  • Spring循环依赖问题的解决
  • KAN-Transfomer——基于新型神经网络KAN的时间序列预测