参考:https://blog.csdn.net/uestclr/article/details/50760563
问题描述
给定数组arr,返回arr的最长递增子序列的长度,比如arr=[2,1,5,3,6,4,8,9,7],最长递增子序列为[1,3,4,8,9]返回其长度为5.
实现
- 动态规划表,dp[i]表示以arr[i]结尾的最长升序子序列的长度
- 动态规划表,dpStr[i]表示以arr[i]结尾的最长升序子序列之一
import org.junit.Test;
import java.util.Random;
/**
* Author: zxh
* Date: 2019/2/20 15:45
* Email:
* Desc:
*/
public class TestDynamicPlanLongestAcsSubsequence {
/*数组长度*/
private final static int arrLength = 10;
@Test
public void test() {
/*随机生成的数组值*/
int[] arr = new int[arrLength];
/*动态规划表,dp[i]表示以arr[i]结尾的最长升序子序列的长度*/
int[] dp = new int[arrLength];
/*动态规划表,dpStr[i]表示以arr[i]结尾的最长升序子序列之一*/
String[] dpStr = new String[arrLength];
Random rando