leetcode 343. 整数拆分

2023.8.10

       本题用dp算法来做,dp[i]代表的含义是:当前数字i 在拆分之后所能获得的最大乘积。然后由于n>=2,所以dp[0]和dp[1]没有意义,不用初始化,直接初始化dp[2]= 1。  然后再遍历给dp数组赋值:dp[i]的来源有两个:①将i拆成 j 和 (i - j) ,然后相乘,即j*(i-j)。 ② 将i 拆成 j 和(i-j), 然后(i-j)的最大拆分乘积为dp[i-j],即 j * dp[i-j]。 

        思考画的草图:

        代码如下: 

class Solution {
public:int integerBreak(int n) {vector<int> dp(n+1); //dp[i]的含义是:当前数字i拆分之后的最大乘积值。dp[2] = 1; //初始化//遍历赋值for(int i=3; i<=n; i++){for(int j=1; j<=i/2; j++){dp[i] = max(dp[i] , max(j*(i-j),j*dp[i-j]));}}return dp[n];}
};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/61877.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Untiy Json和Xml的序列化和反序列化

Json的序列化和反序列化 1.定义数据类 [Serializable] public class ZoomPoint {// 点名称, 将作为Key被字典存储public string name;// 轴心X坐标public Vector2 pivot Vector2.one / 2;// 放大倍率&#xff0c;小于1是为缩小倍率&#xff0c;小于0是取绝对值&#xff0c;不…

竞赛项目 酒店评价的情感倾向分析

前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 酒店评价的情感倾向分析 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/post…

推荐两本书《JavaRoadmap》、《JustCC》

《JavaRoadmap》 前言 本书的受众 如果你是一名有开发经验的程序员&#xff0c;对 Java 语言语法也有所了解&#xff0c;但是却一直觉得自己没有入门&#xff0c;那么希望这本书能帮你打通 Java 语言的任督二脉。 本书的定位 它不是一本大而全的书&#xff0c;而是一本打通、…

嵌入式:C高级 Day4

一、整理思维导图 二、写一个函数&#xff0c;获取用户的uid和gid并使用变量接收 三、整理冒泡排序、简单选择排序和快速排序的代码 冒泡排序 #include <myhead.h>void output(int arr[], int len); void bubble_sort(int arr[], int len);int main(int argc, const ch…

数字化时代,如何做好用户体验与应用性能管理

引言 随着数字化时代的到来&#xff0c;各个行业的应用系统从传统私有化部署逐渐转向公有云、行业云、微服务&#xff0c;这种变迁给运维部门和应用部门均带来了较大的挑战。基于当前企业 IT 运维均为多部门负责&#xff0c;且使用多种运维工具&#xff0c;因此&#xff0c;当…

Linux命名管道进程通信

文章目录 前言一、什么是命名管道通信二、创建方式三、代码示例四、文件进程通信总结 前言 命名管道 是实现进程间通信的强大工具&#xff0c;它提供了一种简单而有效的方式&#xff0c;允许不同进程之间进行可靠的数据交换。不仅可以在同一主机上的不相关进程间进行通信&…

桌面端UI自动化测试如何让SplitButtonControl展开

原始SplitButtonControl图 从图中鼠标所指的控件属性为&#xff1a; ControlType&#xff08;控件类型&#xff09;: SplitButtonControl ClassName&#xff08;类名&#xff09;: SplitButton AutomationId&#xff08;自动化ID&#xff09;: esri_geoprocessing_Pyt…

挑战Open AI!!!马斯克宣布成立xAI.

北京时间7月13日凌晨&#xff0c;马斯克在Twitter上宣布&#xff1a;“xAI正式成立&#xff0c;去了解现实。”马斯克表示&#xff0c;推出xAI的原因是想要“了解宇宙的真实本质”。Ghat GPT横空出世已有半年&#xff0c;国内外“百模大战”愈演愈烈&#xff0c;AI大模型的现状…

C语言——自定义类型详解[结构体][枚举][联合体]

自定义类型详解 前言&#xff1a;一、结构体1.1结构体的声明1.2结构体内存对齐1.3位段&#xff08;位域&#xff09; 二、枚举2.1枚举类型的定义2.2枚举类型的优点2.3枚举的使用 三、联合体3.1联合体类型的定义3.2联合体的特点3.3联合体大小的计算 前言&#xff1a; 我打算把结…

Android 13 Hotseat定制化修改

一.背景 由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图标禁止移动到Launcher中,下面开始…

实例036 使窗体标题栏文字右对齐

实例说明 窗口标题栏中的文字是窗口的重要说明&#xff0c;该文字可以标示窗口的功能、状态或名称等信息&#xff0c;一般该文字是居左显示的&#xff0c;在本例中设计一个标题栏文字右对齐的窗口。本实例运行结果如图1.36所示。 技术要点 在C# 2.0中实现这一功能非常容易&am…