思路:同樣我們設dp[i]為以下標i為結尾的數(shù)組的連續(xù)遞增的子序列長度,而本題要求的最長遞增子序列是連續(xù)的躬柬,也就是說dp[i+1]只由dp[i]推導而出,不用在推導的時候考慮0-i的情況酱吝,這樣等同與在上一題的基礎上簡化了遍歷,只用一層for循環(huán)即可既绕,在遍歷的時候用dp[i]來推導dp[i+1],其余部分都和上一題相同
class Solution {
public int findLengthOfLCIS(int[] nums) {
if (nums.length <= 1) return nums.length;
int[] dp = new int[nums.length];
Arrays.fill(dp,1);
int res = 0;
for (int i = 1; i < nums.length; i++){
if (nums[i] > nums[i-1]){
dp[i] = dp[i-1] + 1;
}
if (dp[i] > res) res = dp[i];
}
return res;
}
}