题意整理 给定一个长度为n的数组。 求它的最长上升子序列的长度。子序列是指按原来数组顺序取的若干个数字组成的序列,上升子序列是指序列中元素严格单调递增。 方法一(动态规划) 1.解题思路 状态定义:dp[i]dp[i]dp[i]表示以下标i结尾的最长上升子序列的长度。 状态初始化:以任意下标结尾的上升子序列长度不小于1,故初始化为1。 状态转移:遍历数组中所有的数,再遍历当前数之前的所有数,只要前面某个数小于当前数,则要么长度在之前基础上加1,要么保持不变,取两者中的较大者。即dp[i]=Math.max(dp[i],dp[j]+1)dp[i]=Math.max(dp[i],dp[j]+...