最长上升子序列golang版本
2023-08-20
1分钟阅读时长
最长上升子序列
func lengthOfLIS(nums []int) int {
var maxLength int
var l = len(nums)
var dp = make([]int, l+1)
for i := 1; i <= l; i++ {
dp[i] = 1
for j := 1; j < i; j++ {
if nums[j-1] < nums[i-1] {
dp[i] = Max(dp[i], dp[j]+1)
}
}
if maxLength < dp[i] {
maxLength = dp[i]
}
}
return maxLength
}
func Max(a, b int) int {
if a > b {
return a
}
return b
}