[leetCode刷题笔记]300. Longest Increasing Subsequence
2017-04-28 08:00
323 查看
DP解决,用dp[len]表示遍历到的最大值,新的值如果大于这个值len++否则替换dp中的一个len不变
public class Solution {
public int lengthOfLIS(int[] nums) {
//use dp[len] to store the largest val.
int[] dp = new int[nums.length];
int len = 0;
for (int k : nums) {
int i = Arrays.binarySearch(dp, 0, len, k);
if (i < 0) i = -(i + 1);
dp[i] = k;
if (i == len) len++;
}
return len;
}
}
public class Solution {
public int lengthOfLIS(int[] nums) {
//use dp[len] to store the largest val.
int[] dp = new int[nums.length];
int len = 0;
for (int k : nums) {
int i = Arrays.binarySearch(dp, 0, len, k);
if (i < 0) i = -(i + 1);
dp[i] = k;
if (i == len) len++;
}
return len;
}
}
相关文章推荐
- leetcode笔记:Increasing Triplet Subsequence
- LeetCode笔记:392. Is Subsequence
- LeetCode 笔记系列15 Set Matrix Zeroes [稍微有一点hack]
- [Leetcode] Distinct Subsequence
- LeetCode 笔记系列12 Trapping Rain Water [复杂的代码是错误的代码]
- LeetCode 笔记系列 18 Maximal Rectangle [学以致用]
- 【LeetCode】Reverse Integer解题笔记
- LeetCode 笔记系列 19 Scramble String [合理使用递归]
- LeetCode 笔记系列13 Jump Game II [去掉不必要的计算]
- LeetCode 笔记系列16.2 Minimum Window Substring [从O(N*M), O(NlogM)到O(N),人生就是一场不停的战斗]
- LeetCode 笔记系列 17 Largest Rectangle in Histogram
- LeetCode题目笔记(一) -- Minimum Depth Of Binary Tree
- LeetCode 笔记系列五 Generate Parentheses
- LeetCode 笔记系列九 Search in Rotated Sorted Array
- LeetCode 笔记系列11 First Missing Positive [为什么我们需要insight]
- LeetCode 笔记系列六 Reverse Nodes in k-Group [学习如何逆转一个单链表]
- LeetCode题目笔记(二) -- Maximum Depth of Binary Tree
- LeetCode 笔记系列四 Remove Nth Node From End of List
- LeetCode 笔记系列 14 N-Queen II [思考的深度问题]
- [LeetCode]Best Time to Buy and Sell Stock做题笔记