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

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。

这道题我没有思路,看了官方解题思路之后,梳理如下:

用一个数组dp[i]表示i能被拆分出的乘积最大的整数,

一个数n,可以被拆为j和n-j,  n-j可以选择不拆开和拆开

n=Math.max(j*(n-j),j*dp[n-j]);

j的范围在1~n-1

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


http://www.mrgr.cn/news/11290.html

相关文章:

  • 趣味算法------猴子吃桃(循环,递归双重解法)
  • java一键生成数据库说明文档html格式
  • 【Python机器学习】NLP概述——深度处理
  • tomcat利用 nginx 反向代理
  • C++ 模板
  • HTML静态网页成品作业(HTML+CSS)——24节气之冬至介绍(1个页面)
  • ssrf+redis未授权访问漏洞复现
  • 《黑神话:悟空》横空出世:全新国产3A里程碑之作
  • Golang安装与环境配置
  • 在Kibana中查询使用条件ES索引数据
  • 数据结构与算法——动态规划
  • 基于状态机实现WIFI模组物联网
  • Elasticsearch:使用 semantic_text 进行语义搜索
  • 衡石科技BI的API如何授权文档解析
  • 【C#】【EXCEL】BumblebeeComponentsAnalysisGH_Ex_Ana_SparkLine.cs
  • 分享一个基于python的零食销售数据采集与可视化分析系统django爬虫项目大数据源码(源码、调试、LW、开题、PPT)
  • SpringBoot项目启动后自动执行方法
  • XML 数据格式介绍及其应用
  • 【区块链 + 智慧文旅】虎彩小虎智数营销平台 | FISCO BCOS应用案例
  • TLB的刷新方式--linux 2.4