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

贪心算法---不同路径

题目:

一个机器人位于一个 m x n 网格的左上角。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。问总共有多少条不同的路径?

思路:

动态规划五部曲:

1.确定dp数组及含义。dp数组需要是一个二维数组,dp[i][j]代表从起始位置到下标为(i,j)位置的不同路径条数。

2.确定递推公式。到达(i,j)位置可以从(i-1,j)向下走一步或者从(i,j-1)向右走一步。故dp[i][j]=dp[i-1][j]+dp[i][j-1]。

3.dp数组初始化。因为每一次只能向右或者向下走,所以第一行和第一列要初始化为1。

4.确定遍历顺序。从左到右从上到下遍历。

5.举例推导dp数组。m=3,n=7时,dp数组如下:

1111111
1234567
13610152128

代码:

    public int uniquePaths(int m, int n) {int[][] dp=new int[m][n];//初始化for(int i=0;i<m;i++){dp[i][0]=1;}for(int j=0;j<n;j++){dp[0][j]=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];}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • sicp每日一题[1.42]
  • SpringBoot整合Thymleaf实现页面静态化
  • 【数据结构】—— 栈与队列
  • 【Prometheus】Prometheus的特点、数据采集方式、架构、数据模型详解
  • 4、Django Admin对自定义的计算字段进行排序
  • MacOS上升级Ruby版本
  • 儿童护眼大路灯怎么选择?5款儿童护眼落地灯分享
  • Maven介绍
  • 正则表达式优化建议
  • 项目经理职责
  • Eureka和Nacos有哪些区别?(面试版)
  • 《OpenCV计算机视觉》—— 图像形态学(腐蚀、膨胀等)
  • SprinBoot+Vue健康管管理微信小程序的设计与实现
  • 探秘DevSecOps黄金管道,安全与效率的完美融合
  • 深度学习系列(1) TensorFlow---Tensorflow学习路线
  • 【译】JS基础算法脚本:字符串结尾
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Python学习笔记 字符串拼接
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vue数据传递--我有特殊的实现技巧
  • 动态规划入门(以爬楼梯为例)
  • 欢迎参加第二届中国游戏开发者大会
  • 如何优雅地使用 Sublime Text
  • 用element的upload组件实现多图片上传和压缩
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​渐进式Web应用PWA的未来
  • #100天计划# 2013年9月29日
  • #在 README.md 中生成项目目录结构
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (c语言)strcpy函数用法
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (过滤器)Filter和(监听器)listener
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (原創) 物件導向與老子思想 (OO)
  • (转)ABI是什么
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .Net Core 生成管理员权限的应用程序
  • .NET 中 GetProcess 相关方法的性能
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .Net语言中的StringBuilder:入门到精通
  • /etc/fstab和/etc/mtab的区别
  • @EnableAsync和@Async开始异步任务支持
  • @PreAuthorize注解
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [<死锁专题>]
  • [1204 寻找子串位置] 解题报告