当前位置: 首页> 健康> 知识 > 网上如何注册公司_上网行为管理_福州百度快速优化_百度最怕哪个部门去投诉

网上如何注册公司_上网行为管理_福州百度快速优化_百度最怕哪个部门去投诉

时间:2025/9/17 11:10:53来源:https://blog.csdn.net/Ricky_youngone/article/details/143110045 浏览次数:0次
网上如何注册公司_上网行为管理_福州百度快速优化_百度最怕哪个部门去投诉

题目链接:300. 最长递增子序列 - 力扣(LeetCode)

代码如下

class Solution {
public:int lengthOfLIS(vector<int>& nums) {//dp[i]是nums[i]的最大递增子序列//dp[i] = max(dp[j] + 1, dp[i]);int len = nums.size();if(len <= 1)    return len;vector<int> dp(len + 1, 1);int result = 0;dp[0] = 1;for(int i = 1; i < len; i++){for(int j = 0; j < i; j++){if(nums[i] > nums[j]){dp[i] = max(dp[j] + 1, dp[i]);}}if(dp[i] > result){result = dp[i];}}return result;}
};

这个题目其实就是去寻找一个子序列在原有的序列中找到一个递增的就好

确定dp含义:dp[i]其实也就是题目所说的我们需要去寻找一个递增的子序列,那我们就定义dp[i]为nums[i]的最大递增子序列

dp递推公式:这个就是我们画一个数轴,如果我们要去找到一个最大的,那我们定好0到i这个区间,然后再用一个j来遍历,条件就是nums[i]>nums[j],然后去推导出来公式dp[i] = max(dp[j] + 1, dp[i]),dp[j] + 1是因为我们如果想让dp[j]和dp[i]相等,那么我们只能dp[j] + 1来等于dp[i],dp[i]的意思是,就是我们与dp[i]作比较,然后取一个最大值

初始化:dp[0] = 1, 因为就一个数嘛,那么就只有一种

遍历顺序:两层for循环,第一层for是为了定义0 - i的区间,第二层for循环是在0 - i的区间里,再去用一个j去找到一个最大值

 返回的参数:在定义一个result = 0,找到的dp[i]的值,去与result比较,这个时候千万不是dp[nums.size() - 1],因为很有可能最后一个并不是这个递增子序列的最后一个

关键字:网上如何注册公司_上网行为管理_福州百度快速优化_百度最怕哪个部门去投诉

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: