整数拆分——力扣343

文章目录

      • 题目描述
      • [法一 动态规划](#法一 动态规划)
      • [法二 动态规划优化](#法二 动态规划优化)
      • [法三 数学](#法三 数学)

题目描述

法一 动态规划

cpp 复制代码
int integerBreak(int n) {
		vector<int> dp(n+1);
		for(int i=2;i<=n;i++){
			int curMax = 0;
			for(int j=1;j<i;j++){
				curMax = max(curMax, max(j*(i-j), j*dp[i-j]));
			}
			dp[i] = curMax;
		} 
		return dp[n];
	}

法二 动态规划优化

cpp 复制代码
int integerBreak(int n){
		if(n<=3){
			return n-1;
		}	
		vector<int> dp(n+1);
		dp[2]=1;
		for(int i=3;i<=n;i++){
			dp[i] = max(max(2*(i-2), 2*dp[i-2]), max(3*(i-3), 3*dp[i-3]));
		}
		return dp[n];
	}

法三 数学

cpp 复制代码
int integerBreak(int n){
		if(n<=3){
			return n-1;
		}
		int chu = n/3, mod = n%3;
		if(mod==0){
			return (int)pow(3, chu);
		} else if(mod==1){
			return (int)pow(3, chu-1)*4;
		} else {
			return (int)pow(3, chu)*2;
		}
	}
相关推荐
devilnumber24 分钟前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
unicrom_深圳市由你创科技1 小时前
哪些控制逻辑应该放在 PLC,哪些放在上位机?
c++
‎ദ്ദിᵔ.˛.ᵔ₎2 小时前
双指针、滑动窗口、前缀和、二分查找 算法
算法
顾北顾3 小时前
多头注意力机制
人工智能·深度学习·算法
H178535090963 小时前
SolidWorks_基于草图的实体特征20_特征错误排查
算法·3d建模·solidworks
hujinyuan201603 小时前
2025年12月中国电子学会青少年机器人技术等级考试试卷(二级) 真题+答案
人工智能·算法·机器人
玖玥拾3 小时前
C/C++ 基础笔记(十三)继承
c语言·c++·继承
bIo7lyA8v4 小时前
算法复杂度评估的实验统计方法与可视化的技术8
算法
李老师讲编程4 小时前
中国电子学会图形化2020.12月Scratch三级考级题
算法·scratch·信息学奥赛·图形化编程·scratch素材
ao-weilai4 小时前
C++:哈希表
c++·哈希算法·散列表