LeetCode每日一题,674 Longest Continuous Increasing Subsequence
先看题目描述
题目大意是给定一个数组 nums,让我们求出 nums 中最长连续递增子数组的长度并返回
算法和思路
贪心算法
这题比较简单,用贪心算法从前往后遍历就可以,要初始化几个变量,ans 维护当前的最长连续递增子数组长度,pre 维护上一个数字的值,cur 维护当前正在遍历的连续递增子数组长度
当遍历到数字 num 时:
- 若 num > pre,说明当前的连续递增子数组长度可以继续增加,将 cur + 1,pre = num
- 若 num <= pre,说明该连续递增子数组结束,将开始下一个连续递增子数组的判断,令 ans 取 ans 和 cur 之间的最大值,cur = 1,pre = num
遍历结束时,可能还有一个连续递增子数组未结束判断,该连续递增子数组的长度可能是最大的,因此也得考虑,令 ans 取 ans 和 cur 之间的最大值,最终返回 ans 即可
算法源码
贪心算法
1 | class Solution { |