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

相关推荐
渡过晚枫2 分钟前
[第十六届蓝桥杯/java/算法]1.偏蓝
java·算法·蓝桥杯
酉鬼女又兒2 分钟前
零基础入门Web应用开发(备赛蓝桥杯)_网页布局原理
前端·职场和发展·蓝桥杯·html5
2501_940315266 分钟前
【无标题】1302 层数最深叶子节点的和
java·数据结构·算法
invincible_Tang12 分钟前
AcWing 796. 子矩阵的和 _
数据结构·算法
米粒117 分钟前
力扣算法刷题 Day 8
算法·leetcode·职场和发展
Sakinol#23 分钟前
Leetcode Hot 100 —— 普通数组
算法·leetcode
@Mike@31 分钟前
【算法】高精度
算法
leo__52032 分钟前
MHT多假设跟踪算法(Multiple Hypothesis Tracking)MATLAB实现
开发语言·算法·matlab
ShineWinsu32 分钟前
对于C++中unordered_set的详细介绍
数据结构·c++·算法·面试·stl·哈希表·unordered_set
吃着火锅x唱着歌32 分钟前
LeetCode 456.132模式
数据结构·算法·leetcode