算法训练营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]

}

相关推荐
荼蘼9 分钟前
基于 KNN 算法的手写数字识别项目实践
人工智能·算法·机器学习
Yuroo zhou29 分钟前
IMU的精度对无人机姿态控制意味着什么?
单片机·嵌入式硬件·算法·无人机·嵌入式实时数据库
jackzhuoa1 小时前
java小白闯关记第一天(两个数相加)
java·算法·蓝桥杯·期末
Codeking__2 小时前
链表算法综合——重排链表
网络·算法·链表
minji...2 小时前
数据结构 堆(4)---TOP-K问题
java·数据结构·算法
AI_Keymaker3 小时前
一句话生成3D世界:腾讯开源混元3D模型
算法
Leon_vibs3 小时前
当 think 遇上 tool:深入解析 Agent 的规划之道
算法
旧时光巷3 小时前
【机器学习-2】 | 决策树算法基础/信息熵
算法·决策树·机器学习·id3算法·信息熵·c4.5算法
落了一地秋4 小时前
4.5 优化器中常见的梯度下降算法
人工智能·算法·机器学习
前端伪大叔4 小时前
第 5 篇:策略参数怎么调优?Freqtrade hyperopt 快速入门
算法·代码规范