leetcode343. 整数拆分(思路+详解)
一:题目
二:上码
class Solution {public:/**思路:1.分析题意:将一个数拆分为几个数相加的和 然后求取这几个数相乘的最大积,这个就很动态规划也就是我们可以得到多种结果,要在多种结果中取最优2.动态规划:1>:确定dp数组代表啥,以及下标的含义dp[i]代表的就是最大乘积数,i代表的就是n2>:确定dp数组的状态递推公式我们将i划分为多个数的和那么此时可以分为两种情况(两个数 / 多个数)两个数: 我们将i划分为 j 和 i-j(这里特别声明j就是我们划分的数值) ==> i = j + (i-j);多个数: 那就将i划分为 j 但将(i-j)进行继续划分 ==> i = j + dp[i-j];这里我们的j的取值范围是[1,i-1];(因为j是划分的数值,那你最少得取值为1吧,同时也不能取值为i吧)dp[i] = max(dp[i],max(j*(i-j),j*dp[i-j]));//因为j的数值不同,那么dp[i]也不同所以也要求取其最值3>:确定dp数组的初始化i>=2的 那么dp[2] = 1;4>:确定dp数组的遍历顺序肯定从前向后遍历 (比如10 还需要用到3的最大乘积呢);5>:举例验证*/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-1; j++) {dp[i] = max(dp[i],max(j*(i-j),j*dp[i-j]));}}return dp[n];}
};
从没思路 到看题解看不懂 再到看了好多题解懂了 再到自己写出来 见证了我的喜怒哀乐
安 各位!
leetcode343. 整数拆分(思路+详解)相关推荐
- c语言 整数拆分,C++ 整数拆分方法详解
一.问题背景 整数拆分,指把一个整数分解成若干个整数的和 如 3=2+1=1+1+1 共2种拆分 我们认为2+1与1+2为同一种拆分 二.定义 在整数n的拆分中,最大的拆分数为m,我们记它的方案数为 ...
- c语言 数字分离编程,C++ 整数拆分方法详解
一.问题背景 整数拆分,指把一个整数分解成若干个整数的和 如 3=2+1=1+1+1 共2种拆分 我们认为2+1与1+2为同一种拆分 二.定义 在整数n的拆分中,最大的拆分数为m,我们记它的方案数为 ...
- php数组10000分割1000_PHP切割整数工具类似微信红包金额分配的思路详解
主要代码:NumberSlicing.php 思路:将数字按精度放大倍数,比如切割数字1,切割的份数是10,精度是0.01,则将1放大100 X 10倍,然后再来对加了1000倍权重后的值进行切割.切 ...
- python正则表达式提取数字比较好_python正则表达式从字符串中提取数字的思路详解...
python从字符串中提取数字 使用正则表达式,用法如下: ## 总结 ## ^ 匹配字符串的开始. ## $ 匹配字符串的结尾. ## \b 匹配一个单词的边界. ## \d 匹配任意数字. ## ...
- 【蓝桥杯Python组】2022年第十三届蓝桥杯省赛B组Python解题思路详解
第十三届蓝桥杯省赛B组Python解题思路详解 因为今年采用线上的举办方式进行比赛,所以组委会对题目做了一定的调整,将原来的5道填空+5道编程题变成了2道填空+8道编程题,据说是为了防止抄袭.其实题目 ...
- 【直播】陈安东,但扬:CNN模型搭建、训练以及LSTM模型思路详解
CNN模型搭建.训练以及LSTM模型思路详解 目前 Datawhale第24期组队学习 正在如火如荼的进行中.为了大家更好的学习"零基础入门语音识别(食物声音识别)"的课程设计者 ...
- vuepdf转换html,Vue网页html转换PDF(最低兼容ie10)的思路详解
Vue网页html转换PDF(最低兼容ie10)的思路详解 发布时间:2020-10-16 13:05:09 来源:脚本之家 阅读:95 作者:冷藏封 HTML转PDF: 1.页面底层实现--Vue: ...
- python处理excel大数据-Python实现大数据收集至excel的思路详解
一.在工程目录中新建一个excel文件 二.使用python脚本程序将目标excel文件中的列头写入,本文省略该部分的code展示,可自行网上查询 三.以下code内容为:实现从接口获取到的数据值写入 ...
- Java编程配置思路详解
Java编程配置思路详解 SpringBoot虽然提供了很多优秀的starter帮助我们快速开发,可实际生产环境的特殊性,我们依然需要对默认整合配置做自定义操作,提高程序的可控性,虽然你配的不一定比官 ...
最新文章
- JQuery Smart UI 简介(五) — 框架设计【前篇】(前台UI层架构)
- 汇编loop指令及用法解释
- 如何设置SSH访问的时间限制
- javascript 模块化机制
- 编译安装dropbear
- 2.6配置自定义PropertyEditors
- delphi启动ie调用本地html传参数_年轻人不讲武德啊!了解下浏览器如何解析html、css,js
- ECSHOP获取当前分类下商品的品牌列表
- 艾永亮:这家酒店如何让你毫不犹豫点上五星好评?
- 非线性控制3.0——自适应模糊控制
- catia v5法矢数据软件_CATIA V5 Start Model车身建模
- 被人民日报等官媒反复强调的​「企业家精神」,到底是什么?
- printJs 打印HTML 去掉页眉页脚
- Golang面试问题汇总
- PHP中级程序员常见面试题
- LINUX(socket)网络编程部分头文件归纳解释
- android跑马灯效果横向,Android TextView 横向滚动(跑马灯效果)
- 解剖caffe mode:Blobs, Layers和Nets
- 2022年泰迪杯数据分析_B题:银行客户忠诚度分析赛题数据_任务五
- XSX和PS5对标的电脑配置(2021年12月10日分析)
热门文章
- ASP.NET MVC @helper使用说明
- TypeScript 3.9 正式发布!平均编译时长从 26 秒缩短至 10 秒
- ArrayList用法说明
- Android之在TextView里面部分文字变颜色并且可以点击
- linux c之通过消息队列实现进程通信
- Java里面Unreachable code
- 《假如编程是魔法之零基础看得懂的Python入门教程 》——(六)精简魔法更强大
- linux如何调试elf程序,Linux应用程序elf描述
- 我的世界java版forge怎么用_我的世界电脑版MOD怎么用 我的世界pc版forge怎么安装...
- 软件项目组织管理(十)项目沟通管理