300.最长递增子序列
典型dp子序列,但我不会,最难的就是dp数组状态定义。烦。这里定义dp[i]为前i个元素的最长递增子序列。
class Solution {
public int lengthOfLIS(int[] nums) {
int n=nums.length;
int result=1;
int[] dp=new int[n];
for(int i=0;idp[i]=1;
for(int i=1;i
for(int j=0;j
if(nums[i]>nums[j]) dp[i]=Math.max(dp[i],dp[j]+1);
}
result=Math.max(result,dp[i]);
}
return result;
}
}
674.最长连续递增序列
可以做,这题我在想设dp(i)为前i个元素中的最长连续子序列,但是处理感觉还有点麻烦,于是又设dp(i)为以元素nums(i)结尾的最长连续递增子序列。
class Solution {
public int findLengthOfLCIS(int[] nums) {
int max=1;
int n=nums.length;
int dp[]=new int[n];
dp[0]=1;
for(int i=1;i
if(nums[i]>nums[i-1])
dp[i]=dp[i-1]+1;
else
dp[i]=1;
max=Math.max(max,dp[i]);
}
return max;
}
}