当前位置: 首页 > news >正文

力扣343 整数拆分 java实现

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

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

示例 1:

输入:n = 2输出:1解释:2 = 1 + 1, 1 × 1 = 1。

示例 2:

输入:n = 10输出:36解释:10 = 3 + 3 + 4, 3 × 3 × 4 = 36。

提示:

  • 2 <= n <= 58

对于的正整数 n,当 n≥2 时,可以拆分成至少两个正整数的和。令 k 是拆分出的第一个正整数,则剩下的部分是 n−k,n−k 可以不继续拆分,或者继续拆分成至少两个正整数的和(一个问题可以分解为相似的子问题因此想到动态规划)。由于每个正整数对应的最大乘积取决于比它小的正整数对应的最大乘积,因此可以使用动态规划求解。

public static void main(String[] args) { // 测试用 System.out.println(integerBreak(10)); } public static int integerBreak(int n) { if (n == 2){ return 1; } int[] res = new int[n + 1]; res[0] = 0; res[1] = 1; res[2] = 2; for (int i = 3; i < res.length; i++) { for (int j = 0; j < i; j++) { res[i] = Math.max(res[i], Math.max((i - j) * j, res[i - j] * j)); } } System.out.println(Arrays.toString(res)); // 输出各个数的最大值 return res[n]; }

以上为记录分享用,代码较差请见谅

http://www.cnnetsun.cn/news/464530.html

相关文章:

  • 基于SpringBoot的大学生科技竞赛管理系统(源码+lw+部署文档+讲解等)
  • 从HTML注入到CSRF:一次漏洞组合拳实战
  • 1024编程——让我们的孩子对话未来
  • 五大主流CRM品牌核心能力横向对比:从闭环到协同的全维度拆解
  • 华为ensp:VRF
  • 易语言开发者的职业跃迁与生态共建
  • 架构师视角:网络安全体系深度解析——核心模型、数据标准与落地实践
  • 网络安全核心技术全景:构建稳固防御的五大支柱与前沿趋势
  • 显微观察:Bamtone K系列盲孔显微镜性能优势深度评测
  • 腾讯云VOD AIGC视频生成工具 回调实现
  • Escrcpy(安卓手机投屏软件)
  • springboot+vue开发的在线导游预约系统应用和研究
  • c盘红了怎么清理垃圾而不误删,教您一套安全又效率的清理方法!
  • Linux系统编程:深度解析 Linux 进程,切换调度、环境变量与虚拟内存
  • 编程语言最核心的方面是什么?
  • Python性能测试框架Locust实战教程
  • Jmeter分布式性能测试细节+常见问题解决
  • 深度测评9个AI论文写作软件,继续教育学生轻松搞定论文!
  • 全网最全专科生必备!9款AI论文软件TOP9测评
  • 屹晶微 EG2184 600V高压、带SD关断功能的1.9A/2.3A半桥栅极驱动器技术解析
  • 小迪安全2023-2024|第12天:信息打点-Web应用企业产权指纹识别域名资产网络空间威胁情报_笔记|web安全|渗透测试|网络安全_2023-2024
  • UTS API插件,助力uniapp开发者快速实现人脸识别活体检测
  • ToDesk超强更新来了!V4.8.4版本全面进化,远程体验再突破!
  • Dify 或 LangChain?高手用原生 API 重构 LLM 开发逻辑
  • 收藏级干货!反思架构:让AI变身“自我审查专家“,代码质量堪比人类专家
  • 【干货】AI Agent:颠覆性技术原理解析,从对话到行动的关键飞跃
  • springboot+vue开发大学生日常行为评奖评优评分班级管理系统j94i24o0应用和研究
  • 【网络安全】网站被篡改怎么办?如何进行有效的防护?
  • 计算机毕业设计springboot学生行李托运平台 基于Spring Boot框架的高校学生行李托运管理系统设计与实现 面向高校学生群体的行李托运平台开发——基于Spring Boot技术
  • 从零开始学CTF:网络安全竞赛完全指南,建议收藏学习