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之后一是不再进行拆分,二是继续拆分。(主要表现在递推公式中)

相关推荐
坚持就完事了1 分钟前
扫描线算法
算法
鱼跃鹰飞3 分钟前
Leetcode尊享面试100题:252. 会议室
算法·leetcode·面试
教游泳的程序员4 分钟前
【面试问题精选】java开发工程师
python·面试·职场和发展
程序员-King.4 分钟前
二分查找——算法总结与教学指南
数据结构·算法
Zevalin爱灰灰6 分钟前
现代控制理论——第三章 线性控制系统的能控性和能观性
线性代数·算法·现代控制
kklovecode8 分钟前
C语言之头文件,宏和条件编译
c语言·开发语言·算法
Xの哲學19 分钟前
Linux自旋锁深度解析: 从设计思想到实战应用
linux·服务器·网络·数据结构·算法
晚风吹长发23 分钟前
深入理解Linux中用户缓冲区,文件系统及inode
linux·运维·算法·链接·缓冲区·inode
程序员-King.30 分钟前
day131—链表—反转链表Ⅱ(区域反转)(LeetCode-92)
leetcode·链表·贪心算法
cwplh32 分钟前
DP 优化一:单调队列优化 DP
算法