문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
정렬되지 않은 정수 배열 nums가 주어졌을 때, 가장 긴 연속 증가 부분 수열(즉, 부분 배열)의 길이를 반환해라. 부분 수열은 반드시 엄격하게 증가해야 한다.
연속적으로 증가하는 부분 수열은 두 개의 인덱스 l과 r(l < r)로 정의되며, 이는 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]]이고 각 l <= i < r에 대해 nums[i] < nums[i + 1]이다.
#1
Input: nums = [1, 3, 5, 4, 7]
Output: 3
Explanation: 가장 긴 연속 증가 부분 수열은 길이가 3인 [1, 3, 5]이다. [1, 3, 5, 7]은 증가 부분 수열이지만, 5와 7 사이에 4가 있어서 연속적이지 않다.
#2
Input: nums = [2, 2, 2, 2, 2]
Output: 1
Explanation: 가장 긴 연속 증가 부분 수열은 길이가 1인 [2]이다.
class Solution {
public int findLengthOfLCIS(int[] nums) {
int result = 0;
int cnt = 0;
for(int i = 0; i < nums.length; i++){
if(i == 0 || nums[i - 1] < nums[i]) result = Math.max(result, ++cnt);
else cnt = 1;
}
return result;
}
}