动态规划part03 Day43

LC343整数拆分(未掌握)

  1. 未掌握分析:dp数组的含义没有想清楚,dp[i]表示分解i能够达到的最大乘积,i能够如何分解呢,从1开始遍历,直到i-1;每次要不是j和i-j两个数,要不是j和dp[i-j]两个以上的数字
  2. 递推公式:dp[i] = Math.max(dp[i],Math.max(jdp[i-j],j(i-j)))
  3. 代码

LC96不同的搜索二叉树(未掌握)

  1. n=3的情况
    • 当1为头结点的时候,其右子树有两个节点,看这两个节点的布局,是和 n 为2的时候两棵树的布局是一样的
    • 当3为头结点的时候,其左子树有两个节点,看这两个节点的布局,是和n为2的时候两棵树的布局也是一样的
    • 当2为头结点的时候,其左右子树都只有一个节点,布局是和n为1的时候只有一棵树的布局也是一样的
    • dp[3],就是 元素1为头结点搜索树的数量 + 元素2为头结点搜索树的数量 + 元素3为头结点搜索树的数量
      • 元素1为头结点搜索树的数量 = 右子树有2个元素的搜索树数量 * 左子树有0个元素的搜索树数量=dp[2]*dp[0]
      • 元素2为头结点搜索树的数量 = 右子树有1个元素的搜索树数量 * 左子树有1个元素的搜索树数量=dp[1]*dp[1]
      • 元素3为头结点搜索树的数量 = 右子树有0个元素的搜索树数量 * 左子树有2个元素的搜索树数量=dp[0]*dp[2]
  2. dp数组递归式:j:1-i,dp[i]+=dp[j-1]*dp[i-j]
  3. 代码
相关推荐
C++ 老炮儿的技术栈37 分钟前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法
yychen_java1 小时前
R-tree详解
java·算法·r-tree
MarkHard1232 小时前
Leetcode (力扣)做题记录 hot100(62,64,287,108)
算法·leetcode·职场和发展
一只鱼^_2 小时前
牛客练习赛138(首篇万字题解???)
数据结构·c++·算法·贪心算法·动态规划·广度优先·图搜索算法
一只码代码的章鱼3 小时前
Spring的 @Validate注解详细分析
前端·spring boot·算法
邹诗钰-电子信息工程3 小时前
嵌入式自学第二十一天(5.14)
java·开发语言·算法
↣life♚3 小时前
从SAM看交互式分割与可提示分割的区别与联系:Interactive Segmentation & Promptable Segmentation
人工智能·深度学习·算法·sam·分割·交互式分割
zqh176736464693 小时前
2025年阿里云ACP人工智能高级工程师认证模拟试题(附答案解析)
人工智能·算法·阿里云·人工智能工程师·阿里云acp·阿里云认证·acp人工智能
fie88894 小时前
用模型预测控制算法实现对电机位置控制仿真
算法
Kent_J_Truman4 小时前
【交互 / 差分约束】
算法