343.整数拆分

刷题刷题找工作!

题目链接

DP入门之整数拆分!

题目:

给定一个正整数 n ,将其拆分为 k正整数 的和( k >= 2 ),并使这些整数的乘积最大化。

返回 你可以获得的最大乘积

自己的思路

。。。完全不会做

官方题解

复制代码
class Solution {
public:
    int integerBreak(int n) {
        vector<int> dp(n + 1);
        dp[2] = 1;
        for (int i = 3; i <= n ; i++) {
            for (int j = 1; j < i - 1; j++) {
                dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j));
            }
        }
        return dp[n];
    }
};

为什么是两层for循环,因为每一个dp[i]都要慢慢拆成几个数,你可以理解一下,已经算到i了,所以后面的什么dp[j],dp[i-j]都已经获得了,就是在求最大值了,为什么会需要取dp[i]max一下,毕竟有的那么多的循环啊,要取一个和为最大的才能当作它的最终结果,好了理解了。

再问,为什么j<i-1,因为i-j的差距至少为2,dp[0]和dp[1]是无意义的。

再问,为什么拆分更好分成这两个?因为dp[i-j]的拆分数量是一定大于2个的,所以要把只拆分一个,即不拆分的单独提出来(之前写得,现在看不懂这句话了)

注意,max只有两个参数,写成这样三个会报错?是的,所以它是写成两个max来找最大

相关推荐
大厂技术总监下海21 小时前
数据湖加速、实时数仓、统一查询层:Apache Doris 如何成为现代数据架构的“高性能中枢”?
大数据·数据库·算法·apache
新诺韦尔API1 天前
手机三要素验证不通过的原因?
大数据·智能手机·api
成长之路5141 天前
【数据集】分地市全社会用电量统计数据(2004-2022年)
大数据
InfiSight智睿视界1 天前
门店智能体技术如何破解美容美发连锁的“标准执行困境”
大数据·运维·人工智能
Python_Study20251 天前
制造业数据采集系统选型指南:从技术挑战到架构实践
大数据·网络·数据结构·人工智能·架构
Cx330❀1 天前
Git 多人协作全攻略:从入门到高效协同
大数据·elasticsearch·搜索引擎·gitee·github·全文检索·gitcode
Tob管理笔记1 天前
建筑业如何精准开拓优质客户?技术驱动下的方法论与实践
大数据·云计算·数据库开发
MM_MS1 天前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
JZC_xiaozhong1 天前
主数据同步失效引发的业务风险与集成架构治理
大数据·架构·数据一致性·mdm·主数据管理·数据孤岛解决方案·数据集成与应用集成
T06205141 天前
【数据集】全国各地区教育139个相关指标数据集(2000-2024年)
大数据