在路上的学习者

记录生活,定格瞬间

LeetCode Longest Increasing Subsequence DP

思路:

方法一:DP。

时间复杂度O(N^2),空间复杂度O(N)。

java code :

public class Solution {
    public int lengthOfLIS(int[] nums) {
        if(nums == null || nums.length == 0) return 0;
        int[] dp = new int[nums.length];
        Arrays.fill(dp, 1);
        int ans = 1;
        for(int i = 0; i < nums.length; ++i) {
            for(int j = 0; j < i; ++j) {
                if(nums[j] < nums[i]) {
                    dp[i] = Integer.max(dp[i], dp[j] + 1);
                }
            }
            ans = dp[i] > ans ? dp[i] : ans;
        }
        return ans;
    }
}
阅读更多
个人分类: leetcode
上一篇LeetCode Find Median from Data Stream 堆
下一篇Ambari升级问题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭