整数拆分——力扣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;
		}
	}
相关推荐
啊阿狸不会拉杆2 分钟前
《机器学习导论》第 9 章-决策树
人工智能·python·算法·决策树·机器学习·数据挖掘·剪枝
Mr_Xuhhh3 分钟前
C++11实现线程池
开发语言·c++·算法
若水不如远方5 分钟前
分布式一致性(三):共识的黎明——Quorum 机制与 Basic Paxos
分布式·后端·算法
zhim006 分钟前
数据结构笔记(上)(看这亿点就够了)
数据结构
only-qi12 分钟前
leetcode24两两交换链表中的节点 快慢指针实现
数据结构·算法·链表
多恩Stone14 分钟前
【3D AICG 系列-9】Trellis2 推理流程图超详细介绍
人工智能·python·算法·3d·aigc·流程图
sin_hielo16 分钟前
leetcode 110
数据结构·算法·leetcode
整得咔咔响16 分钟前
贝尔曼最优公式(BOE)
人工智能·算法·机器学习
日拱一卒——功不唐捐17 分钟前
字符串匹配:暴力法和KMP算法(C语言)
c语言·算法
用户2547010088817 分钟前
类和对象笔记
c++