leetcode:343.整数拆分

解题思路:

拆分的越多越好(暂且认为),尽可能拆成m个近似相等的数,会使得乘积最大

dp含义:将i进行拆分得到最大的积为dp[i]

递推公式:j x dp[i-j](固定j,只通过凑dp[i-j]进而实现所有情况)

初始化:dp[0] = 0,dp[1] = 0,dp[2] = 1

遍历顺序:根据递推公式,dp[i] = max(dp[i],max(dp[i-j]*j,(i-j)*j)),所以是从前往后遍历,先有dp[i-j]再有dp[i]。

代码实现:

有两种方案:i拆分出来j之后一是不再进行拆分,二是继续拆分。(主要表现在递推公式中)

相关推荐
mit6.82434 分钟前
Agent memory发展路线
算法
青桔柠薯片37 分钟前
Linux I/O多路复用:深入浅出poll与epoll
linux·运维·服务器·算法
渡过晚枫1 小时前
[第十六届蓝桥杯/java]2.2025
java·职场和发展·蓝桥杯
酉鬼女又兒1 小时前
HTML零基础快速入门篇(可用于备赛蓝桥杯Web应用开发) 牛客手把手戴刷FED1~8:基本标签,基本标签,媒体标签详解
前端·职场和发展·蓝桥杯·html·web
哈哈很哈哈1 小时前
逻辑回归Logistic Regression
算法·机器学习·逻辑回归
甄心爱学习1 小时前
【极大似然估计/最大化后验】为什么逻辑回归要使用交叉熵损失函数
算法·机器学习·逻辑回归
郝学胜-神的一滴2 小时前
深度学习入门全解析:从核心概念到实战基础 | 技术研讨会精华总结
人工智能·python·深度学习·算法·cnn
安姌2 小时前
京东社招——Java后端开发面试复盘
面试·职场和发展
梯度下降中2 小时前
CNN原理精讲
人工智能·算法·机器学习
Ivanqhz2 小时前
活跃范围重写(Live Range Rewriting)
开发语言·c++·后端·算法·rust