首页 > 其他分享 >剑指Offer-14-剪绳子/力扣-343-整数拆分

剑指Offer-14-剪绳子/力扣-343-整数拆分

时间:2022-10-24 16:55:07浏览次数:40  
标签:14 Offer int max 绳子 力扣 343 dp

对于一段绳子,第一刀下去可以将绳子分成i和n-i两段,其中i的取值范围为[1,n-1]
dp[n]表示n可分成的最大乘积和,dp[n] = max(dp[n],max(i*n-i,i*f(n-i)))
初始化:全部初始化为1

int integerBreak(int n) {
	vector<int> dp(n + 1, 1);
	for (int i = 2; i <= n; i++)
		for (int j = 1; j <= i - 1; j++)
			dp[i] = max(dp[i],max(j * dp[i - j], j*(i-j)));
	// for (int i : dp) cout << i << " ";
	return dp[n];
}

标签:14,Offer,int,max,绳子,力扣,343,dp
From: https://www.cnblogs.com/yaocy/p/16821991.html

相关文章