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

ui网页设计报价优化排名工具

ui网页设计报价,优化排名工具,建设工程施工合同示范文本2017版,长沙装修公司口碑674. 最长连续递增序列 - 力扣&#xff08;LeetCode&#xff09; 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每…

674. 最长连续递增序列 - 力扣(LeetCode)

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

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

示例 1:

输入:nums = [1,3,5,4,7]
输出:3
解释:最长连续递增序列是 [1,3,5], 长度为3。
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。 

示例 2:

输入:nums = [2,2,2,2,2]
输出:1
解释:最长连续递增序列是 [2], 长度为1。

 >>思路和分析

本题相对于leetCode 300.最长递增子序列 最大区别在于 “连续”

  • 不连续递增子序列的跟前0-i 个状态有关(两个for循环)
  • 连续递增的子序列只跟前一个状态有关(一个for循环)

>>方法一:动态规划

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

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

注意这里的定义,一定是以下标i为结尾,并不是说一定以下标0为起始位置。

2.确定递推公式

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

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

3.dp数组初始化

下标i为结尾的连续递增的子序列长度最少也应该是1,即就是nums[i]这一个元素。所以dp[i]应该初始1;

4.确定遍历顺序

从递推公式上可以看出, dp[i + 1]依赖dp[i],所以一定是从前向后遍历

for (int i = 1; i < nums.size(); i++) {if (nums[i] > nums[i - 1]) { // 连续记录dp[i] = dp[i - 1] + 1;}
}

5.举例推导dp数组

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)

>>方法二:贪心策略

当遇到nums[i] > nums[i - 1]的情况,count++,否则count 为 1,记录下count的最大值即可

class Solution {
public:int findLengthOfLCIS(vector<int>& nums) {if (nums.size() == 0) return 0;int count=1;int result=1;// 连续子序列最少也是1for(int i=1;i<nums.size();i++) {// 连续记录if(nums[i]>nums[i-1]) count = count + 1;// 不连续,count从头开始else count=1;result = max(count,result);}return result;}
};
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

>>来自代码随想录课堂截图:

>>参考和推荐文章、视频

代码随想录 (programmercarl.com)

动态规划之子序列问题,重点在于连续!| LeetCode:674.最长连续递增序列_哔哩哔哩_bilibili

http://www.shuangfujiaoyu.com/news/22221.html

相关文章:

  • 电子商务 网站建设网站seo外包公司
  • h5 php网站开发网络营销有哪些手段
  • 可信网站认证收费吗银行营销技巧和营销方法
  • 500云空间网站网页搜索快捷键
  • 网站导航栏图标网络营销的应用
  • 网站备案是域名备案还是空间备案seo北京网站推广
  • 毕设做网站的过程刷排名seo
  • 做推广哪个网站最热门电子商务网站开发
  • 互联网网站如何做流量统计深圳seo排名哪家好
  • 做外贸需关注的网站网站推广的意义和方法
  • 北京大兴黄村网站建设广告宣传方式有哪些
  • 专门做美女写真的网站百度搜索推广多少钱
  • 免费缩短链接seo兼职工资一般多少
  • 我看别人做系统就直接网站下载文件网站优化网络推广seo
  • 网站地图模板.zip网址导航该如何推广
  • 帮网站做诚信证书可靠吗seo入门培训
  • 东莞公司网站建设公司关键词搜索
  • 江苏烟草电商网站怎么做上海关键词推广公司
  • 网络购物网站建设西安关键字优化哪家好
  • 临沂做网站网络营销推广的方式有哪些
  • 西安网站公司建设关键词排名查询工具有哪些
  • 网站的栏目规划樱桃磁力bt天堂
  • 周期购那个网站做的比较好网络宣传方式
  • 企业网站建设顾问深圳网络营销模式
  • 网站 iss淘宝指数转换
  • 外贸网站建设公司报价seo站长工具是什么
  • 租二级目录做网站2020最成功的网络营销
  • wordpress twenty fourteen主题做的演示网站百度一下 你就知道官网
  • 先做网站还是先备案淘宝关键词排名查询
  • 做网站有什么js特效热门搜索关键词