# Longest Increasing Continuous Subsequence

## Question

Give an integer array，find the longest increasing continuous subsequence in this array.

An increasing continuous subsequence:

Can be from right to left or from left to right.\
Indices of the integers in the subsequence should be continuous.

**Notice**

O(n) time and O(1) extra space.

**Example**

For \[5, 4, 2, 1, 3], the LICS is \[5, 4, 2, 1], return 4.

For \[5, 1, 2, 3, 4], the LICS is \[1, 2, 3, 4], return 4.

**Tags**

Enumeration Dynamic Programming Array

**Related Problems**

Hard Longest Increasing Continuous subsequence II

## Analysis

很直观的思路就是进行两次遍历，第一次从左到右，第二次从右往左，总是检查当前序列是否单调递增，并且记录当前最长的上升序列长度。

Check out the follow up question: [Longest Increasing Continuous subsequence II](/lintcode/dynamic_programming/longest_increasing_continuous_subsequence_ii.md)

## Solution

```java
public class Solution {
    /**
     * @param A an array of Integer
     * @return  an integer
     */
    public int longestIncreasingContinuousSubsequence(int[] A) {
        if (A == null || A.length == 0) {
            return 0;
        }

        int ans = 1;
        int N = A.length;

        // From left to right
        int len = 1;
        for (int i = 1; i < N; i++) {
            if (A[i] > A[i - 1]) {
                len++;
            } else {
                len = 1;
            }
            ans = Math.max(len, ans);
        }

        // From right to left
        len = 1;
        for (int i = N - 1; i > 0; i--) {
            if (A[i - 1] > A[i]) {
                len++;
            } else {
                len = 1;
            }
            ans = Math.max(len, ans);
        }

        return ans;
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aaronice.gitbook.io/lintcode/dynamic_programming/longest_increasing_continuous_subsequence.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
