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循环,因为每一个dpi都要慢慢拆成几个数,你可以理解一下,已经算到i了,所以后面的什么dpj,dpi-j都已经获得了,就是在求最大值了,为什么会需要取dpimax一下,毕竟有的那么多的循环啊,要取一个和为最大的才能当作它的最终结果,好了理解了。

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

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

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

相关推荐
小蒋观天下27 分钟前
2026交通安防AI摄像头完整选型指南
大数据·人工智能
Alter123035 分钟前
算力决定下限,存力决定上限:Gartner魔力象限背后的AI存储暗战
大数据·人工智能
cjy0001111 小时前
2026年9月零基础能听懂国内 FDE 讲师的课吗?
大数据·前端·人工智能·fde
Elastic 中国社区官方博客1 小时前
如何通过一条 ES|QL 查询为 Elasticsearch 中的每个指标构建指标图表
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·kibana
百胜软件@百胜软件2 小时前
百胜软件SenClaw胜券助手正式发布:AI让数据“开口说话”,随时赋能零售运营
大数据·人工智能·零售
HZZD_HZZD2 小时前
商业综合体分户计量与能源计费:业态差异、公区分摊与转供电合规
大数据·人工智能·能源
金立基胶粘2 小时前
封口胶在包装行业中的重要性及其与糊盒胶的结合
大数据·安全
2601_962202982 小时前
首衡集配用万象,企业竞争力不断增强
大数据·人工智能
北京晶数信息科技3 小时前
加油站成品油智慧监管云平台成品油流通数智化监管平台加油机数据采集设备交易即开票全链路技术实现方案:技术拆解、架构设计与落地实践
大数据·人工智能
知了一笑3 小时前
职场丨岗位减少,职责增加
大数据·人工智能·职场·产品·业务