题解 | 最长递增子序列

最长递增子序列

https://www.nowcoder.com/practice/585d46a1447b4064b749f08c2ab9ce66

使用动态规划解决该问题

import java.util.*;

public class AscentSequence {
    public int findLongest(int[] A, int n) {
        // write code here
        if(n == 0) return 0;

        int[] dp = new int[n];

        for(int i = 0; i < n; i++) {
            dp[i] = 1;
            for(int j = 0; j < i; j++) {
                if(A[i] > A[j]) {
                    dp[i] = Math.max(dp[i], dp[j] + 1);
                }
            }
        }

        int maxLen = 0;
        for(int i = 0; i < n;) {
            maxLen = Math.max(maxLen, dp[i++]);
        } 

        return maxLen;
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务