刷代码随想录有感(102):动态规划——整数拆分

题干:

代码:

class Solution {
public:
    int integerBreak(int n) {
        vector<int>dp(n + 1);
        dp[0] = 0;
        dp[1] = 0;
        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];
    }
};

dp[i]含义:i这个数被拆分且取乘积的最大值。

递推公式:①拆成两个:j 和 i - j;②拆成两个以上:j 和 dp[i - j],且dp[i]是dp[i]、j*(i-j)、j*dp[i-j]中的最大值(包括dp[i]的原因是dp[i]不断被更新取最大值),max()一次只能比较两个数。

初始化:dp[0]=0、dp[1]=0、dp[2]=1。

遍历顺序:从3开始,通过找规律有在i/2之前可拆得最大。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-15 11:32:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-15 11:32:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-15 11:32:04       82 阅读
  4. Python语言-面向对象

    2024-06-15 11:32:04       91 阅读

热门阅读

  1. Synchronized和ReentranLock区别

    2024-06-15 11:32:04       27 阅读
  2. **自动驾驶技术介绍**

    2024-06-15 11:32:04       31 阅读
  3. 小实战:结合AI作图完成一个新闻发布管理

    2024-06-15 11:32:04       35 阅读
  4. Nginx网站服务

    2024-06-15 11:32:04       33 阅读
  5. Web前端三大主流框架详解及应用

    2024-06-15 11:32:04       32 阅读
  6. C语言中的弱函数是什么?

    2024-06-15 11:32:04       34 阅读
  7. ESP8266发送WOL幻数据包实现电脑远程唤醒

    2024-06-15 11:32:04       36 阅读
  8. Unity3D MMORPG多玩家状态同步详解

    2024-06-15 11:32:04       29 阅读
  9. 在 macOS 上使用 Homebrew 安装和配置 Python 及 Tk 库

    2024-06-15 11:32:04       28 阅读
  10. ECharts 数据的视觉映射

    2024-06-15 11:32:04       34 阅读
  11. C++小游戏 合集

    2024-06-15 11:32:04       27 阅读
  12. XML 编辑器:功能、选择与使用技巧

    2024-06-15 11:32:04       32 阅读
  13. 自动驾驶基础一车辆模型

    2024-06-15 11:32:04       28 阅读
  14. 自动驾驶域控制器nvidia环境搭建

    2024-06-15 11:32:04       32 阅读