公司做seo网站,重庆seo排名外包,广西钦州有做网站的公司吗,网站描述多个词怎么分隔题目链接#xff1a; - 力扣#xff08;LeetCode#xff09;
资源#xff1a;
关于动态规划和贪心算法的区别#xff0c;动态规划的常见题型#xff0c;我总结了一些#xff08;还有文档哦#xff0c;持续更新#xff0c;以后有扩充#xff09;#xff0c;大家可移…题目链接 - 力扣LeetCode
资源
关于动态规划和贪心算法的区别动态规划的常见题型我总结了一些还有文档哦持续更新以后有扩充大家可移步至动态规划知识点
C代码
//动态规划做题重要的五步1.确定dp数组的含义和下标的含义 2.确定递推公式 3.知道递推公式了就要想如何初始化
//4.确定遍历顺序 5.打印数组//注意是严格递增int max(int a, int b)
{return a b ? a : b;
}int lengthOfLIS(int* nums, int numsSize)
{//如果一个元素都没有就直接返回0if (numsSize 0)return 0;//定义dp数组int dp[2505];//明确dp数组的含义dp[i]表示以i为下标的最长递增子序列的长度为dp[i]int i, j;//初始化为什么设置为1因为一个元素的最长递增子序列最短也为本身依次为1for (i 0; i numsSize; i){dp[i] 1;}int maxn 1;for (i 1; i numsSize; i){for (j 0; j i; j){if (nums[j] nums[i])/*条件很重要*/{dp[i] dp[j] 1;}if (dp[i] maxn)maxn dp[i];}}return maxn;
}
C代码
class Solution {//Solution类名
public://公有外部也可使用共有的函数
//private私有外部不可使用共有的函数
//protect私有外部不可使用共有的函数int lengthOfLIS(vectorint nums) {if (nums.size() 0)return 0;vectorintdp(nums.size(), 1);//可理解未一维数组//dp这个数组nums.size()这么大的空间的元素都赋值为1int i, j;int maxn 1;for (i 0; i nums.size(); i){//nums.size()直接求出数组长度//不需要你像c语言一样size sizeof(dp) / sizeof(dp[0])for (j 0; j i; j){if (nums[j] nums[i])dp[i] max(dp[j] 1, dp[i]);}if (dp[i] maxn)maxn dp[i];}return maxn;}
};