动态规划 Leetcode 343 整数划分

整数划分

Leetcode 343

学习记录自代码随想录

要点:1.递推公式要想到,从2开始找规律;

class Solution {
public:
    int integerBreak(int n) {
        
        // 1.dp[i]代表输入i的最大乘积
        vector<int> dp(n+1, 0);
        // 2.递推公式dp[i] = max(j*dp[i-j], k*(i-k), dp[j]*dp[i-j]) j = 1:i/2, k = i/2
        
        // 3.dp数组初始化
        dp[2] = 1;
        
        // 4.遍历顺序,从前向后
        for(int i = 3; i < n+1; i++){
            dp[i] = (i / 2) * (i - i / 2);
            for(int j = 1; j <= i/2; j++){
                int max_number = max(j*dp[i-j], dp[j]*dp[i-j]);
                dp[i] = max(dp[i], max_number);
            }
        }

        // 5.举例推导dp数组
        return dp[n];
    }
};

相关推荐

  1. 动态规划 Leetcode 343 整数划分

    2024-03-13 02:22:02       44 阅读
  2. 动态规划初识】整数划分

    2024-03-13 02:22:02       53 阅读
  3. 力扣日记4.10-【动态规划篇】343. 整数拆分

    2024-03-13 02:22:02       37 阅读
  4. leetcode 343.整数拆分

    2024-03-13 02:22:02       42 阅读
  5. LeetCode 343. 整数拆分

    2024-03-13 02:22:02       32 阅读
  6. [leetcode~数位动态规划] 2719. 统计整数数目 hard

    2024-03-13 02:22:02       55 阅读

最近更新

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

    2024-03-13 02:22:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 02:22:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 02:22:02       87 阅读
  4. Python语言-面向对象

    2024-03-13 02:22:02       96 阅读

热门阅读

  1. c++ primer中文版第五版作业第十六章

    2024-03-13 02:22:02       35 阅读
  2. 安卓kotlin面试题 71-80

    2024-03-13 02:22:02       41 阅读
  3. GO语言-切片底层探索(下)

    2024-03-13 02:22:02       50 阅读
  4. 日常007:alias给长命令起个简短的别名

    2024-03-13 02:22:02       49 阅读
  5. js关于防抖和节流的问题

    2024-03-13 02:22:02       43 阅读
  6. 关 于 早 起

    2024-03-13 02:22:02       47 阅读
  7. 【二分算法】分巧克力

    2024-03-13 02:22:02       44 阅读
  8. 深入浅出队列:Python中的数据驱动力

    2024-03-13 02:22:02       46 阅读