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

网站建设百度不通过最新网站技术

网站建设百度不通过,最新网站技术,平面设计网站中文,深圳龙岗职业技术学校招生300. 最长递增子序列 1.dp定义:dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 2.递推公式:if (nums[i] > nums[j]) dp[i] max(dp[i], dp[j] 1); 注意这里不是要dp[i] 与 dp[j] 1进行比较,而是我们要取dp[j] 1的最大值…

300. 最长递增子序列

1.dp定义:dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度

2.递推公式:if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1);

注意这里不是要dp[i] 与 dp[j] + 1进行比较,而是我们要取dp[j] + 1的最大值

 3.初始化:每一个i,对应的dp[i](即最长递增子序列)起始大小至少都是1.

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;}
};

674. 最长连续递增序列

1.dp定义:dp[i]:以下标i为结尾的连续递增的子序列长度为dp[i]

2.递推公式:如果 nums[i] > nums[i - 1],那么以 i 为结尾的连续递增的子序列长度 一定等于 以i - 1为结尾的连续递增的子序列长度 + 1 。

即:dp[i] = dp[i - 1] + 1;

因为本题要求连续递增子序列,所以就只要比较nums[i]与nums[i - 1],而不用去比较nums[j]与nums[i] (j是在0到i之间遍历)。

 3.dp[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;}
};

718. 最长重复子数组

1.dp定义:以下标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;

根据递推公式可以看出,遍历i 和 j 要从1开始!

3.初始化:根据dp[i][j]的定义,dp[i][0] 和dp[0][j]其实都是没有意义的!

但dp[i][0] 和dp[0][j]要初始值,因为 为了方便递归公式dp[i][j] = dp[i - 1][j - 1] + 1;

所以dp[i][0] 和dp[0][j]初始化为0。

举个例子A[0]如果和B[0]相同的话,dp[1][1] = dp[0][0] + 1,只有dp[0][0]初始为0,正好符合递推公式逐步累加起来。

注:如果dp数组以i,j为结尾,那么初始化时,应该为dp[i] = dp[j]时初始化为1

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 result = 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] > result) result = dp[i][j];}}return result;}
};

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

相关文章:

  • 有哪些外国网站国内可以登录的网页布局设计方法
  • 域名做网站大连企业网站设计
  • 昆明做网站费用阿里巴巴网站域名注册
  • 网站后台发布新闻优化网络推广外包
  • 做影视网站对宽带要求代理记账包含哪些业务
  • 常熟建设合同备案在哪个网站wordpress网站迁移教程
  • 厚街微网站建设平面广告图片
  • 购物网站为什么做移动端win7 asp.net网站架设
  • 番禺网站公司企业名称预先核准通知书
  • 摄影师个人网站模板网站频繁改版
  • 做网站需要多少钱平邑婴幼儿网站模板
  • 无锡做网站 选众诺网站建设合同书范本
  • 三乡网站建设公司wordpress 屏蔽国外ip
  • 网站建设多少钱 知乎编程软件免费下载
  • 高端母婴网站模板怎么建设在线视频网站
  • 美团网站制作的特色网站服务器租用一般费用
  • 游戏推广怎么拉人最快网站seo优化公司
  • 网站设计导航做视频可以领钱的网站
  • 肇庆广宁住房和城乡建设部网站企业网站不备案会怎么样
  • 怎样做网页游戏网站中国建设银行晋中分行网站
  • 怎么做视频网站赚钱吗上海平面网站
  • 建设网站的页面设计牛年起广告公司名字
  • 服务行业做网站甘肃购物网站建设
  • 上海机电设备公司网站建设海报设计培训
  • 合肥网站建设合肥自己的网站怎么做app
  • 网站网站自己做wordpress触屏主题
  • 东营建设信息网官网查询佛山外贸seo
  • 网站如何加后台大连网络营销公司
  • 手机端网站尺寸展示网站建设
  • 做网站的软件有些什么ui设计和平面设计的区别