使用动态规划解决该问题
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;
}
}

京公网安备 11010502036488号