leetcode674-Longest Continuous Increasing Subsequence

题目

给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。
连续递增的子序列 可以由两个下标 l 和 r(l < 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 隔开。

分析

这道题目直接遍历就可以解,一个哨兵记录当前连续递增子数组的长,如果下个元素比当前元素大那么哨兵加1,如果下个元素比当前元素小,那么更新哨兵元素,并且取哨兵元素和最终递增子数组的最大值

public class longestContinuousIncreasingSubsequence {
	public static void main(String[] args) {
		int[] arr = {1,3,5,4,7};
		System.out.println(getSubLen(arr));
	}
	public static int getSubLen(int[] arr) {
		int len = arr.length;
		int ret = 1;
		int subLen = 1;
		for(int i = 0;i<len-1;i++) {
			if(arr[i] < arr[i+1]) {
				subLen++;
			} else {
				ret = Math.max(subLen,ret);
				subLen = 1;
			}
		}
		ret = Math.max(subLen,ret);
		return ret;
	}
}

相关推荐

  1. LeetCode-684. 冗余连接

    2024-04-12 10:24:06       75 阅读
  2. Leetcode 674. 最长连续递增序列

    2024-04-12 10:24:06       35 阅读
  3. leetcode674-Longest Continuous Increasing Subsequence

    2024-04-12 10:24:06       34 阅读
  4. leetcode670-最大交换

    2024-04-12 10:24:06       67 阅读
  5. leetcode670最大交换

    2024-04-12 10:24:06       53 阅读
  6. LeetCode 670. 最大交换

    2024-04-12 10:24:06       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 10:24:06       73 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 10:24:06       78 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 10:24:06       63 阅读
  4. Python语言-面向对象

    2024-04-12 10:24:06       73 阅读

热门阅读

  1. 加权随机负载均衡算法golang实现

    2024-04-12 10:24:06       37 阅读
  2. 单例模式a

    2024-04-12 10:24:06       36 阅读
  3. 面试经典150题——删除有序数组中的重复项

    2024-04-12 10:24:06       36 阅读
  4. HistoricActivityInstance和HistoricProcessInstance区别

    2024-04-12 10:24:06       30 阅读
  5. Zookeeper

    Zookeeper

    2024-04-12 10:24:06      33 阅读
  6. 带资源实战一篇:某音日常养号脚本实现教程

    2024-04-12 10:24:06       37 阅读