Given an unsorted array of integers, find the length of longest continuous increasing subsequence.

Example 1:

Input: [1,3,5,4,7]
Output: 3
Explanation: The longest continuous increasing subsequence is [1,3,5], its length is 3.
Even though [1,3,5,7] is also an increasing subsequence, it's not a continuous one where 5 and 7 are separated by 4.

Example 2:

Input: [2,2,2,2,2]
Output: 1
Explanation: The longest continuous increasing subsequence is [2], its length is 1.

Note: Length of the array will not exceed 10,000.

这道题让我们求一个数组的最长连续递增序列,由于有了连续这个条件,跟之前那道 Number of Longest Increasing Subsequence 比起来,其实难度就降低了很多。可以使用一个计数器,如果遇到大的数字,计数器自增1;如果是一个小的数字,则计数器重置为1。用一个变量 cur 来表示前一个数字,初始化为整型最大值,当前遍历到的数字 num 就和 cur 比较就行了,每次用 cnt 来更新结果 res,参见代码如下:

解法一:

class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
int res = , cnt = , cur = INT_MAX;
for (int num : nums) {
if (num > cur) ++cnt;
else cnt = ;
res = max(res, cnt);
cur = num;
}
return res;
}
};

下面这种方法的思路和上面的解法一样,每次都和前面一个数字来比较,注意处理无法取到钱一个数字的情况,参见代码如下:

解法二:

class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
int res = , cnt = , n = nums.size();
for (int i = ; i < n; ++i) {
if (i == || nums[i - ] < nums[i]) res = max(res, ++cnt);
else cnt = ;
}
return res;
}
};

Github 同步地址:

https://github.com/grandyang/leetcode/issues/674

类似题目:

Number of Longest Increasing Subsequence

Minimum Window Subsequence

参考资料:

https://leetcode.com/problems/longest-continuous-increasing-subsequence/

https://leetcode.com/problems/longest-continuous-increasing-subsequence/discuss/107352/Java-code-6-liner

https://leetcode.com/problems/longest-continuous-increasing-subsequence/discuss/107365/JavaC%2B%2BClean-solution

LeetCode All in One 题目讲解汇总(持续更新中...)

最新文章

  1. 前端开发:setTimeout与setInterval 定时器与异步循环数组
  2. kali 初始化
  3. 经典的找不到符号(symbol)错误 #iOS开发
  4. Socket网络通讯开发总结之:Java 与 C进行Socket通讯 + [备忘] Java和C之间的通讯
  5. 适用于cocos2dx的编辑器:Texture,Tilemap,Particle,Action,Level etc
  6. apache常用工作模式的区别
  7. HDU 1232:流问题(并检查集合)
  8. Java程序打开指定地址网页
  9. Ext 常用组件解析
  10. javascript基础进阶——执行环境及作用域链
  11. 【二分图】P3386洛谷模板
  12. arcis api for js 值 3.17 本地部署
  13. (转载)CSS3与页面布局学习总结(三)——BFC、定位、浮动、7种垂直居中方法
  14. Vmware workstation V2V
  15. MUI手势锁
  16. 机器学习笔记(5) KNN算法
  17. 常见的爬虫分析库(1)-Python3中Urllib库基本使用
  18. C# 获取 mp3文件信息【包括:文件大小、歌曲长度、歌手、专辑】
  19. BZOJ1059 [ZJOI2007]矩阵游戏 二分图匹配 匈牙利算法
  20. Python实现selenium回放时间设置

热门文章

  1. 【shell脚本】通过位置变量创建Linux账户及密码===addUser.sh
  2. Algorithm: CRT、EX-CRT &amp; Lucas、Ex-Lucas
  3. Vue.js 源码分析(二十三) 指令篇 v-show指令详解
  4. Spring @CrossOrigin 通配符 解决跨域问题
  5. Zabbix邮件预警-这个坑我跳了不止一次
  6. StringBuilder.sb.AppendLine();
  7. NET Excel转换为集合对象
  8. Winform中设置ZedGraph的曲线符号Symbol以及对应关系
  9. Python - 函数 - 第十四天
  10. Asp.Net MVC控制器获取视图传值几种方式