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

}

相关推荐
ai产品老杨2 分钟前
减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。
前端·vue.js·算法·ecmascript·音视频
小于不是小鱼呀7 分钟前
手撕 K-Means
人工智能·算法·机器学习
m0_740154678 分钟前
K-Means颜色变卦和渐变色
算法·机器学习·kmeans
东皇太星41 分钟前
SIFT算法详细原理与应用
图像处理·算法·计算机视觉
鑫鑫向栄1 小时前
[蓝桥杯]堆的计数
数据结构·c++·算法·蓝桥杯·动态规划
緈福的街口1 小时前
【leetcode】3. 无重复字符的最长子串
算法·leetcode·职场和发展
麦仓分享1 小时前
C++算法动态规划3
算法·动态规划
HEX9CF2 小时前
【Linux】awk 命令详解及使用示例:结构化文本数据处理工具
linux·chrome·算法
Cl_rown去掉l变成C2 小时前
第J3-1周:DenseNet算法 实现乳腺癌识别
人工智能·pytorch·算法
努力学习的小廉2 小时前
我爱学算法之—— 前缀和(中)
开发语言·redis·算法