本文主要是介绍[LeetCode] 300. Longest Increasing Subsequence @ python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一.题目:
给一个数组,求它的最长递增子序列(不要求连续)的长度.
二.解题思路:
动态规划问题.dp[i]表示以nums[i]结尾的递增子序列的长度.需要用到双重循环.
代码如下:
class Solution(object):def lengthOfLIS(self, nums):""":type nums: List[int]:rtype: int"""if nums==[]:return 0N = len(nums)Dp = [1]*Nfor i in range(N-1):for j in range(0,i+1):if nums[i+1]>nums[j]:Dp[i+1] = max(Dp[i+1],Dp[j]+1)return max(Dp)
这篇关于[LeetCode] 300. Longest Increasing Subsequence @ python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!