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

手机做免费个人网站东莞做网站公司首选

手机做免费个人网站,东莞做网站公司首选,2021年9月重大新闻,wordpress 随机标题题目 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 10 输出: 36 解释: 1…

题目

给定一个正整数 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

解析

dp[i]的定义:分拆数字i可以得到的最大乘积为dp[i]
dp[i]的最大乘积可以通过2种方式得到:
第一种(2个数相乘):
从1开始遍历j,
j*(i-j)—会被多次调用
第二种(多个数相乘)
j*dp[i-j]

dp[i-j]为重叠子问题,会被多次调用比如

dp[5](dp[6-1],dp[7-2]...)dp[7]为dp[2]*dp[5]与dp[3]*dp[4]等的最大值

代码

import java.util.Scanner;public class IntegerSplit {public static 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(Math.max(j*(i-j), j*dp[i-j]),dp[i]);}}return dp[n];}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();System.out.println(integerBreak(n));}
}

dp数组中的每一个元素都是经过一个不断扩大的循环计算出来的。
在这里插入图片描述

http://www.yayakq.cn/news/286853/

相关文章:

  • 广州网站建设系统开发常见的erp系统大概要多少钱
  • 电商网站开发面临的技术问题在洪雅网站做企业招聘
  • 长春门户网站建设wordpress 增加分类字段
  • 免费的手机网站模板长沙做网站好的公司
  • 小语种网站案例wordpress会建站怎么找工作
  • 乌市正规网站建设自己建免费网站
  • 怎么用 c文件做网站网站的优化seo
  • 免费制作网站的基本流程临沂市经济开发区建设局网站
  • 双语言网站源码推荐一个做淘客网站
  • 惠州建站方案怎样开发公司的网站建设
  • html网站二维码悬浮怎么做学网站开发的软件
  • 国外虚拟服务器网站wordpress 人物页面
  • 重庆网站建设优化排名电子建设网站的目的
  • 成都网站公司网站建设长春网站建设技术托管
  • 网站上传模板后丹阳网站建设公司
  • 网站建设标书范本wordpress免费主机
  • 渭南网站建设价格唐山网站建设500元
  • 简洁企业网站asp建设网站要求哪里备案
  • 凡客诚品网站多语种外贸网站
  • 石龙网站建设兰州网站卡法
  • 网站建设综合训练报告石岩网站设计
  • 成都网站制作龙兵科技旺道营销软件
  • 西安网站制作工程师公司官网单页源码
  • 旅游网站这么做网站空间做邮箱
  • 中国三大门户网站是哪三个渠道网络建设策略
  • 中国做的最好的网站有哪些免费领取永久云服务器
  • 简单网站设计网站网站正在建设中怎么办
  • 网站怎么做舆情监测企业网站的建设哪个好
  • 网站开发公司需要哪些资质video.js wordpress
  • 上海网站设计与制作代发货网站建设