leetcode:343.整数拆分

解题思路:

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

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

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

初始化:dp0 = 0,dp1 = 0,dp2 = 1

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

代码实现:

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

相关推荐
小白小宋几秒前
【PUSCH番外篇】5G NR 相位补偿与频移校正:原理、流程与工程实现
算法·5g·matlab·信息与通信·信号处理
满怀冰雪5 分钟前
第15篇-链表基础-反转链表-合并链表与快慢指针
java·算法·链表
2zcode13 分钟前
基于MATLAB语音信号变声算法设计与实现
算法·matlab·语音识别·变声算法
满怀冰雪21 分钟前
第14篇-队列与单调队列-解决窗口最值问题的关键结构
java·算法
QiLinkOS23 分钟前
极客精神与商业思维的融合实践(3)
c语言·c++·人工智能·算法·开源协议
bIo7lyA8v25 分钟前
算法设计中的代价函数优化与约束求解的技术8
算法
暖阳华笺28 分钟前
【数据结构与算法】哈希专题
数据结构·c++·算法·leetcode·哈希算法
ceclar12329 分钟前
C#字节流与字符流
算法·c#·.net
大白话_NOI34 分钟前
【洛谷 P1024 】[NOIP2001 提高组] 一元三次方程求解 - 详细分析与C++实现
c++·算法
Matthew_zhu_35 分钟前
P3374 【模板】树状数组 1 题解
算法