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

移动网站开发百度百科如何做外贸网站的推广

移动网站开发百度百科,如何做外贸网站的推广,java 快速建站,wordpress add actionLeetCode 300.最长递增子序列 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目描述:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除&…

LeetCode 300.最长递增子序列

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目描述:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。

子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。

解题思路

通过两次循环,在j<i时判断nums[j]是否小于nums[i],如果是则子序列长度加一

  1. 确定dp数组(dp table)以及下标的含义

dp[i]代表从0到i递增子序列的长度

  1. 确定递推公式

if(nums[i] > nums[j]) dp[i] = max(dp[i],dp[j]+1);

  1. dp数组如何初始化

一个数就是长度为1的子序列,所以全部初始化为1.

  1. 确定遍历顺序

从递归公式其实已经可以看出,一定是从前向后遍历,因为dp[i],依靠dp[i - 1]的数值。

  1. 举例推导dp数组
class Solution {
public:int lengthOfLIS(vector<int>& nums) {if(nums.size() == 1) return 1;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);}result = max(result,dp[i]);}}return result;}
};

总结:

  • 子序列要二重遍历。

LeetCode 674.最长连续递增序列

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目描述:给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。

连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。

解题思路

  1. 确定dp数组(dp table)以及下标的含义

dp[i]代表到nums[i]为止,最长的连续递增子序列

  1. 确定递推公式

如果前一个前一个数小于后一个数,也就是递增的,我们就将当前dp+1,如果不小于,就不操作,也就是将其置1,初始化时已经置1,所以不用操作。

if(nums[i] > nums[i-1]) dp[i] = dp[i-1]+1;

  1. dp数组如何初始化

全部初始化为1

  1. 确定遍历顺序

正序遍历即可

  1. 举例推导dp数组
class Solution {
public:int findLengthOfLCIS(vector<int>& nums) {vector<int> dp(nums.size(),1);int result = 1;for(int i=1;i<nums.size();i++){if(nums[i] > nums[i-1]){dp[i] = dp[i-1]+1;}result = max(result,dp[i]);}return result;}
};

总结:

  • 较为简单

LeetCode 718.最长重复子数组

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目描述:给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度

解题思路

  1. 确定dp数组(dp table)以及下标的含义

dp[i][j] :以下标i - 1为结尾的A,和以下标j - 1为结尾的B,最长重复子数组长度为dp[i][j]。 (特别注意: “以下标i - 1为结尾的A” 标明一定是 以A[i-1]为结尾的字符串 )

  1. 确定递推公式

即当A[i - 1] 和B[j - 1]相等的时候,dp[i][j] = dp[i - 1][j - 1] + 1;

不相等就是0了,也就不用操作

  1. dp数组如何初始化

全部初始化为0

  1. 确定遍历顺序

先遍历数组1,或者数组2都可以。

  1. 举例推导dp数组
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;}result = max(result,dp[i][j]);}}return result;}
};

总结:

  • 本来以为是要搞几个状态,没想到直接用二维来代表俩数组遍历的情况了。

 

http://www.fp688.cn/news/146756.html

相关文章:

  • 三级分销网站开发山西seo关键词优化软件搜索
  • 做旅游业务的商业网站线上推广策略
  • 重庆做营销网站建设舆情分析
  • 如何渗透测试wordpress网站长沙网站制作关键词推广
  • 电视剧男女直接做视频网站线上产品推广方案
  • 普通人怎么样做网站深圳全网营销方案
  • 安阳信息港网站简述如何对网站进行推广
  • 网站建设情况seo 最新
  • ui设计哪里有培训班网站seo的内容是什么
  • 怎样做网站的seo外链推广是什么意思
  • 广东网站建设电话咨询济南百度seo
  • 深圳罗湖网站seo方案
  • webstorm网站开发电商培训心得
  • 建委网站所说建设单位网站搜索引擎优化工具
  • 网区建站想找搜索引擎优化
  • 长沙微信网站制作seo为什么要进行外部优化
  • 泉州那几个公司网站建设比较好seo推广优化
  • 惠州建设厅网站广州全网推广
  • 学校网站建设报价表网络营销手段有哪些方式
  • 百度seo公司一路火怎样优化网站排名靠前
  • 做网站需要什么证明嘛学电脑在哪里报名
  • 中山企业手机网站建设企业培训公司
  • 做图片素材的网站有哪些东莞网站建设方案报价
  • 中国建设银行网站-公司机构客户高端网站建设企业
  • 河南省住房城乡和建设厅网站首页自媒体推广平台
  • 电子商务网站是什么意思惠州自动seo
  • 泉州网站建设工作室百度商业账号登录
  • jsp动态网站开发基础与上机指导公司建网站流程
  • 八旬老太做直播 什么网站班级优化大师官方网站
  • 福州 哈尔滨网站建设 网络服务凡科网建站系统源码