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

凡科建站后台登录吉林企业网站建设

凡科建站后台登录,吉林企业网站建设,用jsp加点mvc做网站怎么样,深圳龙华是低风险区吗1、题目描述 给定一个正整数 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、初始思路

2.1 思路

使用动态规划的思想

1、dp表示的是最大乘积

2、递推公式(可以分为两个数相乘,或者两个数以上相乘)

如果是两个数,那么为(i-j)*j,如果为两个数以上,那么为dp[j]*(i-j)

3、初始化dp数组,dp[2]=dp[1]=1

4、确定遍历顺序 

2.2 代码

class Solution:def integerBreak(self, n: int) -> int:if n <= 2:return 1dp = [0] * (n+1)dp[1] = dp[2] = 1for i in range(3,n+1):for j in range(i-1, 1, -1):dp[i] = max(dp[i], max((dp[j] * (i-j)), (i-j)*j))return dp[n]

3 优化算法

3.1 思路

数学上已经证明,对于一个整数 n:最优的拆分方式是将尽可能多地拆分成数字 3。

当剩下的部分是 4 时,不要拆成 3 + 1(因为 3×1 = 3,而 2×2 = 4 更优)。

所以规则是:

  • 拆成尽量多的 3
  • 如果剩下的是 1,那就从前面拿一个 3 改成 2 + 2
  • 如果剩下的是 2 或 4,直接乘上去

3.2 代码

class Solution:def integerBreak(self, n: int) -> int:if n <= 2:return 1if n == 3:return 2a = n // 3m = n % 3if m == 0:res = pow(3,a)elif m == 1:res = pow(3,a-1) * 4else:res = pow(3,a) * 2return res
http://www.dtcms.com/wzjs/554158.html

相关文章:

  • 网站营销敖降网站建设
  • 做任务的网站长沙好的互联网公司
  • 北京建站公司兴田德润信任网站推广的方法
  • 句容建设质检站网站网站logo大全
  • 做网站找雷鸣网站做的很差的案例
  • 一般在什么网站上做电子请帖申请网页空间的网站
  • 湖南网站建设大全注册账号自建网站
  • 企业网站制作排名中国最著名网站建设公司
  • 购买网站模版可以自己做吗哪项属于网页制作工具
  • 网站主机购买wordpress apahce 静态 windows
  • 品牌网站设计打造aspnet网站开发教程数据库
  • 房产网站的全景图怎么做wordpress 调用置顶文章
  • 网站备案都审核什么互联网广告平台代理
  • 上海企业建站提供商网站相应速度
  • 企业网站建设营销优化方案wordpress php5.3.5访问慢
  • 中文企业网站设计欣赏中国建筑官网电话
  • 网页设计网站教程html怎么做网站地图
  • 免费做相册视频网站怎样在网站做宣传
  • 做网站主页网站被百度蜘蛛爬死了
  • 新网站如何才做被百度收录保定seo博客
  • 泉州网站建设 首选猴子网络石家庄网络公司哪家正规
  • 宁波做网站烟台厂商手机网站定制咨询
  • wordpress中菜单唐山seo
  • 搞个网站要多少钱vps做网站
  • 建一个网站需要多长时间运营管理培训
  • 器材管理网站开发福州网站设计哪家做的好
  • 智威汤逊广告公司东莞网站优化
  • 网络公司网站程序电商网站开发要多少钱
  • 淄博网泰专业做网站黄金网站
  • 企业建设网站公司有哪些zencart添加wordpress