最长上升子序列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
}

Avatar

Aisen

Be water,my friend.