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

代码随想录冲冲冲 Day34 动态规划Part2

62. 不同路径

dp数组:dp数组定义为二位数组 记录整个路程中的所有点

初始化:第一列和第一行都是1,因为只能向右或向下走

递归公式: 任何一个点都是由上方点和左方点相加得到

遍历顺序:遍历从左到右 从上到下 由点1,1开始

63. 不同路径 II

dp数组:dp数组定义为二位数组 记录整个路程中的所有点

初始化:第一列和第一行当obstacleGrid没遇到1之前dp数组都是1,遇到之后全是0,因为只能向右或向下走,如果最右下角或者左上角有障碍,return 0

递归公式: 任何一个点都是由上方点和左方点相加得到,但如果这个点的的坐标在obstacleGrid中==1,也就是有障碍,直接continue(终止后续)

遍历顺序:遍历从左到右 从上到下 由点1,1开始

343. 整数拆分

dp数组:每一个数字的最大乘积

初始化:dp[0] 没有意义 dp[1] == 1 dp[2] ==1;

递归公式:以下三种的最大值

1.j(i-j) j为第一个数字 i-j为第二个数字

2.j*dp[i-j] 大于两个的情况, j = 第一个数字 dp[i-j] 后面无论是分成几个数字相乘得到的最大值

3.dp[i] dp[i] 本身的值假如在之前j =1 得到的值要比 j =2得到的值更大 就不更新了

遍历顺序:第一层 i = 3 到 n,代表dp中每个dp[i] 的值

第二层 j = 1 到 i/2 代表对于数字的拆分,由于两个数相乘越相似 乘积越大 所以 i = 1 到 i/2为止就是最大的情况了

96. 不同的二叉搜索树

dp数组:用来存 1 - n个节点的二叉树种类数

初始化:dp [0] =1,就空数

递归公式:dp[i] += dp[j] * dp[i - j-1;

j代表左边树有多少种 i-j-1代表右边树有多少种 -1是其中作为根节点的的一个

遍历顺序:

i从1 -> n 分别代表1 ->n个节点

j从0->i 代表左节点数 因为最多左数会有i-1个数 而且这种情况下 没有右树

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • k8s集群环境搭建(一主二从--kubeadm安装)
  • 人工智能再次进化 善用AI提升营运效率
  • 小哥进小区难进门难,此现状如何破局?
  • javaee、ssm(maven)、springboot(maven)项目目录结构以及编译后文件目录存放路径
  • anomaly detection
  • FreeRTOS线程数据传递---消息队列
  • Git如何安装和配置
  • 详解PASCAL VOC数据集及基于Python和PyTorch的下载、解析及可视化【目标检测+类别分割】
  • QT5.14.2编译有界面的DLL供C#Winform程序调用步骤
  • C#编程语言及.NET 平台快速入门指南
  • 高级java每日一道面试题-2024年9月02日-基础篇-什么是脏读、不可重复读和幻读?
  • 2020年ICPC南京站 补题记录
  • Kevin‘s notes about Qt---Episode 2 线程通信
  • 突破编程_C++_设计模式(组合模式)
  • C#知识|加强面向对象编程的认识
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Brief introduction of how to 'Call, Apply and Bind'
  • CSS居中完全指南——构建CSS居中决策树
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Facebook AccountKit 接入的坑点
  • IDEA常用插件整理
  • java中的hashCode
  • MD5加密原理解析及OC版原理实现
  • miaov-React 最佳入门
  • Odoo domain写法及运用
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 初识 beanstalkd
  • 创建一个Struts2项目maven 方式
  • 我的面试准备过程--容器(更新中)
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 我们雇佣了一只大猴子...
  • # 数据结构
  • #Linux(Source Insight安装及工程建立)
  • $GOPATH/go.mod exists but should not goland
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (算法)Travel Information Center
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ***通过什么方式***网吧
  • ../depcomp: line 571: exec: g++: not found
  • ./configure、make、make install 命令
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .chm格式文件如何阅读
  • .Net FrameWork总结
  • .NET 中创建支持集合初始化器的类型
  • .NET编程——利用C#调用海康机器人工业相机SDK实现回调取图与软触发取图【含免费源码】
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • @Valid和@NotNull字段校验使用
  • [AIGC] CompletableFuture的重要方法有哪些?
  • [Angular 基础] - 自定义指令,深入学习 directive