package main
import (
"fmt"
)
//最长递增子序列
func main() {
a := []int{1, 4, 3, 4, 2, 3}
b := lengthOfLIS(a)
fmt.Println(b)
}
func lengthOfLIS(nums []int) int {
dp := make([]int, len(nums))
ans := 0
for i := 0; i < len(dp); i++ {
dp[i] = 1
}
for j := 0; j < len(nums); j++ {
for k := 0; k < j; k++ {
if nums[j] > nums[k] {
if dp[j] < dp[k]+1 {
dp[j] = dp[k] + 1
}
}
}
}
for _, v := range dp {
if v >= ans {
ans = v
}
}
return ans
}
输出结果:3