最長不連続上昇シーケンス---動的計画


数値シーケンスの最長上昇サブシーケンスの長さを返します.数値は整数nと長さnの配列を連続的に指定する必要はありません.最長上昇サブシーケンスの長さを返します.テストサンプル:7 2 1 4 3 1 5 6戻り:4
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int a[]=new int[n];
        for(int i=0;iint[] dp = new int[n];
        for(int i = 0; i < n; i++) {
            dp[i] = 1;
            for(int j = 0; j < i; j++) {
                if(a[j] < a[i]) {
                    dp[i] = Math.max(dp[i], dp[j] + 1);
                }
            }
        }
        System.out.println(dp[n - 1]);
    }
}