func integerBreak(n int) int {
dp := make([]int, n+1) // dp[i]为整数i的最大拆分乘积
dp[2] = 1 // dp[0]和dp[1]无意义
for i := 3; i <= n; i++ {
for j := 1; j <= i-1; j++ {
dp[i] = max(dp[i], max(j*(i-j), j*dp[i-j]))
}
}
return dp[n]
}
func max(x, y int) int {
if x > y {
return x
}
return y
}