本文主要是介绍Day40| 343 整数拆分 96 不同的二叉搜索树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
343 整数拆分
96 不同的二叉搜索树
343 整数拆分
class Solution {
public:int integerBreak(int n) {vector<int> dp(n + 1);dp[2] = 1;for(int i = 3; i <= n; i++){for(int j = 1; j <= i / 2; j++){dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j));}cout << "dp[" << i << "] = " << dp[i] << endl;}return dp[n];}
};
96 不同的二叉搜索树
class Solution {
public:int numTrees(int n) {//1 第 i 个数有dp[i]种不同的二叉树数量vector<int> dp(n + 1, 0);//2 初始化dp[0] = 1;dp[1] = 1;//3 数组遍历for(int i = 2; i <= n; i++){for(int j = 1; j <= i; j++){//4 递归方程dp[i] += dp[j - 1] * dp[i - j];}}return dp[n];}
};
这篇关于Day40| 343 整数拆分 96 不同的二叉搜索树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!