news 2026/10/17 6:50:35

千问 LeetCode 343. 整数拆分 Java实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
千问 LeetCode 343. 整数拆分 Java实现

Java 实现

class Solution {
public int integerBreak(int n) {
if (n <= 3) {
return n - 1;
}

int quotient = n / 3; int remainder = n % 3; if (remainder == 0) { return (int) Math.pow(3, quotient); } else if (remainder == 1) { return (int) Math.pow(3, quotient - 1) * 4; } else { return (int) Math.pow(3, quotient) * 2; } }

}

思路说明

核心结论:尽可能多地拆出 3。

原因:

  • 拆成 1 没有意义,因为 1 × x = x,不会变大;
  • 拆成 2 或 3 是有效的;
  • 对于大于 3 的数,继续拆总能更大,比如 4 = 2 + 2,2 × 2 = 4;5 = 2 + 3,2 × 3 = 6 > 5;
  • 比较 2 × 2 × 2 = 8 和 3 × 3 = 9,可见 3 的乘积增长更快。

所以策略是:
余数 处理方式
0 全部拆成 3
1 拿出一个 3,和 1 合并成 2 + 2,即乘以 4
2 剩下的 2 单独保留

当 n <= 3 时,题目要求至少拆成两个正整数,所以 2 → 1×1=1,3 → 1×2=2,直接返回 n - 1。

复杂度

  • 时间复杂度:O(1)
  • 空间复杂度:O(1)

面试扩展

如果面试官追问 DP 写法,可以补充:

class Solution {
public int integerBreak(int n) {
int[] dp = new int[n + 1];
dp[2] = 1;
for (int i = 3; i <= n; i++) {
for (int j = 1; j < i; j++) {
dp[i] = Math.max(dp[i], Math.max(j * (i - j), j * dp[i - j]));
}
}
return dp[n];
}
}

DP 思路是:对每个 i,枚举第一刀拆出 j,剩下 i - j 可以选择不再拆(j × (i-j))或继续拆(j × dp[i-j]),取最大值。时间复杂度 O(n²),空间 O(n)。

面试时可以先讲贪心 O(1) 解法,再主动提到 DP 版本作为保底思路,会比较稳。

要不要顺带说说它的变体「整数拆分 II」——把 n 换成字符串形式输入、结果要对 10^9+7 取模的写法?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 6:49:12

Rancher + Helm Chart + 私有仓库:打造标准化Kubernetes应用交付体系

搞Kubernetes平台运维这些年&#xff0c;我最大的体会就是&#xff1a;应用交付方式的标准化&#xff0c;决定了整个交付链条的上限。早期我们团队每次上线都是复制一堆YAML改改名字&#xff0c;碰到几十个服务轮流发布的时候&#xff0c;改错一个缩进或者复制漏掉一个配置项&a…

作者头像 李华
网站建设 2026/10/17 6:49:09

C#类成员全解析:字段、属性到构造函数与事件的面试要点

1. 先说清楚&#xff1a;面试官问"类成员"到底想问什么"C#每日面试题"这个系列我看了不少&#xff0c;说实话大部分人的回答都停留在"字段、属性、方法、事件"这种背诵式的枚举上&#xff0c;能说到点子上、把成员之间的边界和设计意图讲明白的人…

作者头像 李华
网站建设 2026/10/17 6:48:32

开放式代码评审:一套从流程设计到工具落地的完整实践

代码评审这事&#xff0c;十个人有九个说重要&#xff0c;但真正做得好的团队屈指可数。我前前后后待过好几个研发团队&#xff0c;从十几个人的创业公司到上百人的业务线&#xff0c;见过太多次评审会变成“走过场”&#xff1a;二十页的diff没人细看、Committer机械点个Appro…

作者头像 李华
网站建设 2026/10/17 6:48:28

如何选择降 AI 率工具:从选型到避坑的完整思路

深夜十一点&#xff0c;宿舍楼里只剩键盘声。论文改到第三稿&#xff0c;查重过了&#xff0c;AI 检测却亮起红灯。导师的批注只有一句&#xff1a;内容需要重写。你盯着满屏的修改建议&#xff0c;不知道该信哪一款工具&#xff0c;更怕上传的文稿被拿去喂了模型。2026年&…

作者头像 李华
网站建设 2026/10/17 6:48:27

小白程序员必备:收藏这份金融业大模型落地指南,轻松开启AI转型之路!

本文深入剖析金融业AI应用现状&#xff0c;揭示头部机构与中小机构在智能体落地上的差距与机遇。核心聚焦信息采集、文档生成、数据整理等低风险高价值场景&#xff0c;提供合规先行、数据其次、自动化最后的三步落地策略&#xff0c;并针对投研、信贷、核保等细分领域提出定制…

作者头像 李华
网站建设 2026/10/17 6:47:52

Ansys Workbench CAD导入单位失准问题全解析

简介&#xff1a;本资源是一份针对CAD与Ansys Workbench跨平台协同建模中尺寸单位失配问题的实操指南&#xff0c;面向机械、结构仿真工程师及高校CAE初学者。文档直击工程实践中高频痛点——当毫米级CAD模型导入Workbench后被默认解析为米制单位&#xff08;如1mm显示为1m&…

作者头像 李华