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

dp2 = 1

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

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

dpi = max(max(j*(i-j), j*dpi-j), dpi)

}

}

return dpn

}

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

func numTrees(n int) int {

if n == 0 {

return 1

}

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

dp0 = 1

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

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

dpi += dpj-1 * dpi-j

}

}

return dpn

}

相关推荐
wuyk5559 分钟前
12.归并排序:分治思想的稳定排序算法
开发语言·数据结构·算法·排序算法
吴声子夜歌13 分钟前
ApacheCommons——commons-text(模板替换与文本算法)
java·开发语言·算法·apache
JiNan.YouQuan.Soft41 分钟前
数值计算引擎:计算固体力学
人工智能·算法·机器学习
和裕1 小时前
光伏储能定制加强型瓦楞纸箱:降低组件运输隐裂率与售后损耗的核心价值
大数据·运维·网络·人工智能·算法
Pointer Pursuit1 小时前
C++11特性(二)
前端·c++·算法
lvwangshu1 小时前
数位 DP 进阶
算法·动态规划
她的男孩1 小时前
一个开源低代码框架的协作 SPI 是怎么设计的 ForgeAdmin 拆解 + 实战接入新平台
后端·算法·架构
OPEN-F2 小时前
C++20新特性精讲:概念、范围与三路比较
算法·c++20
@MMiL3 小时前
ST-link与J-link通俗易懂讲解
算法
RAOY的AI笔记3 小时前
GPT-6打破孪生素数猜想最新纪录:AI正在进入数学研究新时代?
人工智能·gpt·算法