題目
更好的方法是耐心排序,參見《算法小抄》的內(nèi)容?。?!文章來源:http://www.zghlxwxcb.cn/news/detail-798681.html
法1:DP
基礎(chǔ)解法必須掌握?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-798681.html
class Solution {
public int lengthOfLIS(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
int maxLen = 1, n = nums.length;
int[] dp = new int[n]; // 以i結(jié)尾的LIS
Arrays.fill(dp, 1);
for (int i = 0; i < n; ++i) {
for (int j = 0; j < i; ++j) {
if (nums[i] > nums[j] && (dp[j] + 1 > dp[i])) {
dp[i] = dp[j] + 1;
maxLen = Math.max(maxLen, dp[i]);
}
}
}
return maxLen;
}
}
法2:二分
到了這里,關(guān)于【重點】【DP】300. 最長遞增子序列的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!