当前位置: 首页 > news >正文

网站更改公司需要重新备案吗礼品网站实例

网站更改公司需要重新备案吗,礼品网站实例,wordpress恢复数据库,网络营销工资一般多少leetcode 300. 最长递增子序列 题目链接:最长递增子序列 dp数组及下标的含义 dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度递推公式 位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列 1 的最大值 所以if (nums[i] > nums[j]) dp[i]…

leetcode 300. 最长递增子序列

题目链接:最长递增子序列

  1. dp数组及下标的含义
    dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度
  2. 递推公式
    位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列 + 1 的最大值
    所以`if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1)
  3. dp数组初始化`
    每一个i,对应的dp[i](即最长递增子序列)起始大小至少都是1
  4. 遍历顺序
    从前向后遍历
for (int i = 1; i < nums.size(); i++) {for (int j = 0; j < i; j++) {if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1);}if (dp[i] > result) result = dp[i]; // 取长的子序列
}

整体代码如下:

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

时间复杂度: O(n^2)
空间复杂度: O(n)

leetcode 674. 最长连续递增序列

题目链接:最长连续递增序列
本题要求子序列是连续递增,所以只需要比较 nums[i]和 nums[i-1]

class Solution {
public:int findLengthOfLCIS(vector<int>& nums) {if (nums.size() == 0) return 0;int result = 1;vector<int> dp(nums.size() ,1);for (int i = 1; i < nums.size(); i++) {if (nums[i] > nums[i - 1]) { // 连续记录dp[i] = dp[i - 1] + 1;}if (dp[i] > result) result = dp[i];}return result;}
};

时间复杂度:O(n)
空间复杂度:O(n)

leetcode 718. 最长重复子数组

题目链接:最长重复子数组

  1. dp数组及下标的含义
    dp[i][j] :以下标i - 1为结尾的A,和以下标j - 1为结尾的B,最长重复子数组长度为dp[i][j]
  2. 确定递推公式
    当A[i - 1] 和B[j - 1]相等的时候,dp[i][j] = dp[i - 1][j - 1] + 1
  3. dp数组初始化
    dp[i][0] 和dp[0][j]初始化为0
  4. 遍历顺序
    外层for循环遍历A,内层for循环遍历B

版本一:二维数组

class Solution {
public:int findLength(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>> dp (nums1.size() + 1, vector<int>(nums2.size() + 1, 0));int res = 0;for (int i = 1; i <= nums1.size(); i++) {for (int j = 1; j <= nums2.size(); j++) {if (nums1[i - 1] == nums2[j - 1]) {dp[i][j] = dp[i - 1][j - 1] + 1;}if (dp[i][j] > res) res = dp[i][j];}}return res;}
};

时间复杂度:O(n × m),n 为A长度,m为B长度
空间复杂度:O(n × m)

版本二:滚动数组

dp[i][j]由dp[i - 1][j - 1]推出,压缩为一维数组,dp[j]由dp[j - 1]推出。
遍历B数组的时候,就要从后向前遍历,这样避免重复覆盖

class Solution {
public:int findLength(vector<int>& A, vector<int>& B) {vector<int> dp(vector<int>(B.size() + 1, 0));int res = 0;for (int i = 1; i <= A.size(); i++) {for (int j = B.size(); j > 0; j--) {if (A[i - 1] == B[j - 1]) {dp[j] = dp[j - 1] + 1;} else dp[j] = 0; // 注意这里不相等的时候要有赋0的操作if (dp[j] > res) res = dp[j];}}return res;}
};

时间复杂度:O(n × m),n 为A长度,m为B长度
空间复杂度:O(m)

http://www.yayakq.cn/news/795250/

相关文章:

  • 网站建设进什么科目网站数据库连接错误
  • 做网站平台的公司有哪些怎么样建设自己的网站
  • 织梦网站怎么做安全措施做网站编辑好还是美工好
  • 哪个网站是免费的app软件开发工具包
  • 驻马店 市网站建设手机社区网站模板
  • phpcms v9农业网站模板网站怎么设置支付功能
  • 整站seo优化下载软件的app大全
  • 重庆秀山网站建设公司各引擎收录查询
  • 营销型和展示型网站网站排名下降
  • 整站快速排名优化NET开发网站开发工程师招聘
  • 宁波网站建设托管在线编辑图片的网站有哪些
  • 东莞做展示网站的公司wordpress花园商城
  • 做app需要先做网站吗郑州网站app建设
  • 企业 网站 制作go语言可以做网站吗
  • 建设网站的报价赣州市微语网络科技有限公司
  • 做门户网站源码公司logo形象墙效果图
  • 个人可以做网站推广物流企业的网站模板
  • 友情链接添加在网站中有什么用网站搭建中页面
  • 重庆网站网络推广推广建立网站免费
  • 电商网站需要多少钱网站建设及推广外包
  • 广州北京网站建设公司wordpress 图片排列
  • 多多进宝cms网站建设网站utf8乱码
  • 辽宁营商建设局网站服装网站建设比较好
  • 漫画网站php源码羽毛球赛事视频
  • 最好的微网站建设公司购物网站开发历史
  • 怎么样才可以在百度上打广告高州网站seo
  • 用什么做视频网站比较好的wordpress 移动端适配
  • 康定网站建设网站购物车作用
  • 做网站服务器还是虚拟空间好做机械的老板都看什么网站
  • 网站系统建设项目网站建设课程有哪些收获