算法训练营day35(补),动态规划3

func max(a, b int) int {

if a > b {

return a

}

return b

}

//343. 整数拆分

//拆分的数尽量相等才能保证最大

func integerBreak(n int) int {

dp := make([]int, n+1)

// 初始值,0,1没有意义,为零,2可以拆为1*1=1

dp[2] = 1

for i := 3; i <= n; i++ {

for j := 1; j <= i/2; j++ {

dp[i] = max(max(j*(i-j), j*dp[i-j]), dp[i])

}

}

return dp[n]

}

//96. 不同的二叉搜索树

func numTrees(n int) int {

if n == 0 {

return 1

}

dp := make([]int, n+1)

dp[0] = 1

for i := 1; i <= n; i++ {

for j := 1; j <= i; j++ {

dp[i] += dp[j-1] * dp[i-j]

}

}

return dp[n]

}

相关推荐
何其有幸.2 小时前
实验3-3 比较大小(PTA|C语言)
c语言·数据结构·算法
东阳马生架构3 小时前
Sentinel源码—8.限流算法和设计模式总结二
算法·设计模式·sentinel
老饼讲解-BP神经网络4 小时前
一篇入门之-评分卡变量分箱(卡方分箱、决策树分箱、KS分箱等)实操例子
算法·决策树·机器学习
何其有幸.4 小时前
实验6-3 使用函数求特殊a串数列和(PTA|C语言)
c语言·数据结构·算法
不会计算机的捞地4 小时前
【数据结构入门训练DAY-24】美国大选
数据结构·算法
明月看潮生5 小时前
青少年编程与数学 02-018 C++数据结构与算法 11课题、分治
c++·算法·青少年编程·编程与数学
Echo``5 小时前
2:QT联合HALCON编程—图像显示放大缩小
开发语言·c++·图像处理·qt·算法
.似水5 小时前
2025.4.22_C_可变参数列表
java·c语言·算法
Felven6 小时前
A. Ideal Generator
java·数据结构·算法
MoonBit月兔6 小时前
双周报Vol.70: 运算符重载语义变化、String API 改动、IDE Markdown 格式支持优化...多项更新升级!
ide·算法·哈希算法