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

临清网站建设服务千里做他千百度网站

临清网站建设服务,千里做他千百度网站,专业做网文的网站,企业管理软件销售好做吗题目来源:https://leetcode.cn/problems/integer-break/description/ C题解1:动态规划。dp[i] 代表数字i拆分后得到的最大乘积。递归公式为拆分后两个数的最大乘积相乘,即 dp[i] max(dp[i], dp[j] * dp[i-j])。对于n2或3需要另外讨论。 cla…

题目来源:https://leetcode.cn/problems/integer-break/description/

 

C++题解1:动态规划。dp[i] 代表数字i拆分后得到的最大乘积。递归公式为拆分后两个数的最大乘积相乘,即 dp[i] = max(dp[i], dp[j] * dp[i-j])。对于n=2或3需要另外讨论。

class Solution {
public:int integerBreak(int n) {if(n == 2) return 1;else if(n == 3) return 2;vector<int> dp(n+1, 0);dp[1] = 1;dp[2] = 2;dp[3] = 3;for(int i = 2; i <= n; i++) {for(int j = 1; j < i; j++){dp[i] = max(dp[i], dp[j] * dp[i-j]);}}return dp[n];}
};

C++题解2(来源代码随想录):动规五部曲。

  1. 确定dp数组(dp table)以及下标的含义。dp[i]:分拆数字i,可以得到的最大乘积为dp[i]。
  2. 确定递推公式。 dp[i]最大乘积是怎么得到的呢?其实可以从1遍历j,然后有两种渠道得到dp[i]。一个是j * (i - j) 直接相乘;另一个是j * dp[i - j],相当于是拆分(i - j),对这个拆分不理解的话,可以回想dp数组的定义。那有同学问了,j怎么就不拆分呢?j是从1开始遍历,拆分j的情况,在遍历j的过程中其实都计算过了。那么从1遍历j,比较(i - j) * j和dp[i - j] * j 取最大的。递推公式:dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j));也可以这么理解,j * (i - j) 是单纯的把整数拆分为两个数相乘,而j * dp[i - j]是拆分成两个以及两个以上的个数相乘。
  3. dp的初始化。初始化dp[2] = 1。
  4. 确定遍历顺序。先来看看递归公式:dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j))。dp[i] 是依靠 dp[i - j]的状态,所以遍历i一定是从前向后遍历,先有dp[i - j]再有dp[i]。
  5. 举例推导dp数组
class Solution {
public:int integerBreak(int n) {vector<int> dp(n + 1);dp[2] = 1;for (int i = 3; i <= n ; i++) {for (int j = 1; j <= i / 2; j++) {dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j));}}return dp[n];}
};

C++题解3(来源代码随想录):贪心算法。“拆分一个数n 使之乘积最大,那么一定是拆分成m个近似相同的子数相乘才是最大的”。每次拆成n个3,如果剩下是4,则保留4,然后相乘,但是这个结论需要数学证明其合理性!

class Solution {
public:int integerBreak(int n) {if (n == 2) return 1;if (n == 3) return 2;if (n == 4) return 4;int result = 1;while (n > 4) {result *= 3;n -= 3;}result *= n;return result;}
};

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

相关文章:

  • 外国英文设计网站网站开发很难么
  • 唐山seo设计网站淘宝上做淘宝客的网站
  • dede网站怎么更换模板wordpress 模版标签
  • 网站后台登陆路径一般网站设计多少钱
  • 米读小说哪个网站开发的做网站需要向客户了解什么
  • wordpress网站重新安装微信、网站提成方案点做
  • wordpress如何安装网站主题公司网站非响应式模板
  • 建设一个网站首先需要什么外贸网站案例
  • 河南专业的做网站的公司wordpress修改code标签
  • 龙门惠州网站建设企业服务账号怎么查询
  • 网站开发翻译功能中天建设集团有限公司总部在哪里
  • 鲜花网站建设教程seo咨询岳阳
  • 外国人的做视频网站深圳市南山区住房和建设局网站官网
  • 网站文件夹命名爱站网是什么平台
  • 如何区分网站开发语言拟定一个物流网站建设方案
  • 一家专门做海报的网站做网站有了空间在备案吗
  • 新网站备案查询动漫制作专业专科
  • 无代码建站软件青浦专业网站建设
  • 武功县住房和城乡建设局网站数字营销工具
  • 上海网站制作公司哪设计公司网站详情
  • 湖北省住房和城乡建设厅网站的公示公告生成器在线制作免费
  • 网站卖链接青岛网站制作服务商
  • 网站建设策划书有哪些内容个人网站建设实验心得
  • 毕业设计网站做几个网站404怎么解决
  • 网站开发入门培训网站建设可以修改吗
  • 教育云平台网站建设网站建设公司不给ftp
  • 怎么做网站才能不被仿冒烟台 网站建设多少钱
  • 网页制作优质网站网站打不开 其它能打开
  • 模具配件东莞网站建设技术支持站群源码
  • 空调维修网站建设广州专业网站改版领军企业