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

佛山住房和城乡建设部网站官网购物网站开发设计思路

佛山住房和城乡建设部网站官网,购物网站开发设计思路,网站脑图怎么做,怎么做网站公司宣传资料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/a/587767.html

相关文章:

  • 沈阳城市建设学院网站电子商务网站建设考卷
  • 网站运营专员岗位职责昆明网站建设哪家比较
  • 在线电影网站建设收钱码合并的网站怎么做
  • 湖南网站seo网站秒收录
  • 农产品网站的品牌建设怎么在百度上做广告推广
  • 如何查询网站空间大小柬埔寨旅游网站建设
  • 外贸公司网站设计公司软件定制需要多少钱
  • 全国高校校园网站联盟建设上饶哪里做网站
  • 公司设计网站详情wordpress源码类主题
  • 建设淘宝网站的目的中国建设住建网站
  • 长沙专业网站制作h5网站开发费用
  • 郑州网站建设创新网络wordpress阿里云建站
  • 佛山营销网站建设服务公司网站宽度设置
  • 镇江网站优化电脑软件制作入门教程
  • 郑州建设银行网站房贷网点在哪里wordpress主题如何破解
  • 成都地铁建设分公司网站wordpress 禁用谷歌字体 地图
  • 宁波电信网站备案微信开发者平台api
  • 南昌网站seo济宁网站建设联系方式
  • 如何建设网站济南兴田德润团队怎么样摄影作品哪里看
  • 泊头市建设局网站青岛网站建设 上流
  • 首页八度空间济南网站搜索引擎优化
  • wordpress网站背景设置方法宁波seo培训
  • 网站建设的目的及意义厨之梦进口食品网站谁做的
  • 专业做食材网站wordpress调用树形目录
  • 网站建设兼职挣多少钱乐清新闻联播
  • 福州最好的网站设计服务公司辽宁食品 中企动力网站建设
  • 买卖域名的网站好怀安县建设局网站
  • 快速微信网站建设百度seo如何优化
  • 小企业公司网站建设承德市信息查询平台
  • 深圳建设信息网站官网邢台seo推广