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

相关推荐
leoufung5 分钟前
LeetCode 322. Coin Change:从错误思路到正确一维 DP
算法·leetcode·职场和发展
旧梦吟8 分钟前
脚本网页 双子星棋
算法·flask·游戏引擎·css3·html5
ullio14 分钟前
arc205d - Non-Ancestor Matching
算法
wa的一声哭了21 分钟前
内积空间 正交与正交系
java·c++·线性代数·算法·矩阵·eclipse·云计算
SWAGGY..25 分钟前
数据结构学习篇(8)---二叉树
数据结构·学习·算法
星轨初途28 分钟前
牛客小白月赛126
开发语言·c++·经验分享·笔记·算法
leoufung32 分钟前
动态规划DP 自我提问模板
算法·动态规划
爱编程的小吴39 分钟前
【力扣练习题】热题100道【哈希】560. 和为 K 的子数组
算法·leetcode·哈希算法
Swift社区1 小时前
LeetCode 463 - 岛屿的周长
算法·leetcode·职场和发展
皮卡蛋炒饭.1 小时前
宽搜bfs与深搜dfs
算法·宽度优先