公司网站内容,青岛建网站哪个好,wordpress位置,郑州恩恩网站建设343. 整数拆分 可以利用前面的累计#xff0c;但是这题没理解。
class Solution {
public:int integerBreak(int n) {// 整数拆分为至少两个vectorint dp(n1);// dp[0]、dp[1]不用初始化dp[2] 1;for (int i 3; in; i) {// dp[i]表示i可以拆分为前面的数相乘for…343. 整数拆分 可以利用前面的累计但是这题没理解。
class Solution {
public:int integerBreak(int n) {// 整数拆分为至少两个vectorint dp(n1);// dp[0]、dp[1]不用初始化dp[2] 1;for (int i 3; in; i) {// dp[i]表示i可以拆分为前面的数相乘for (int j 1; ji/2; j) {dp[i] max(dp[i], max(j*dp[i-j], j*(i-j)));}}return dp[n];}
};96. 不同的二叉搜索树 这题比较容易理解就是一颗二叉搜索树的排序是固定的三个可以有几种情况四个可以有几种等都是固定的而比如n3时可能左零右二左一右一左二右零三种而左零可以初始化为一右二即n等于2的子情况在前面就已经确定。dp[i]表示大小为i可以有几种二叉搜索树的情况。
class Solution {
public:int numTrees(int n) {vectorint dp(n1);dp[0] 1;for (int i 1; i n; i) {for (int j 1; j i; j) {// 左子树种类和右子树种类dp[i] dp[j-1] * dp[i-j];}}return dp[n];}
};