最长递增子序列(LIS)
来源:互联网 发布:台湾用大陆网络语言 编辑:程序博客网 时间:2024/06/14 03:27
题目描述
对于一个数字序列,请设计一个复杂度为O(nlogn)的算法,返回该序列的最长上升子序列的长度,这里的子序列定义为这样一个序列U1,U2...,其中Ui < Ui+1,且A[Ui] < A[Ui+1]。
给定一个数字序列A及序列的长度n,请返回最长上升子序列的长度。
测试样例:
[2,1,4,3,1,5,6],7
返回:4
# -*- coding:utf-8 -*-class AscentSequence: def findLongest(self, A, n): # write code here # 预处理 dp = [0 for i in range(n + 1)] dp[0] = 1 max = 1 for i in range(1, n): k = 0 for j in range(n): if A[i] > A[j] and k < dp[j]: k = dp[j] # 更新当前点的值 dp[i] = k + 1 if max < dp[i]: max = dp[i] return maxif __name__ == "__main__":a = AscentSequence()print a.findLongest([2,1,4,3,1,5,6], 7)print a.findLongest([157,232,6],3)
0 0
- 最长递增子序列问题((LIS))
- 最长递增子序列(LIS)
- 最长递增子序列(LIS)
- 最长递增子序列(LIS)
- 最长递增子序列(LIS)求解
- 最长递增子序列(LIS)
- 最长递增子序列(LIS)
- 最长递增子序列(LIS)
- 最长递增子序列(LIS)
- 最长递增子序列(LIS)问题
- 单调递增最长子序列(Lis)
- 最长递增子序列(LIS)
- 最长单调递增子序列(LIS)
- 最长递增子序列(LIS)问题
- 最长递增子序列(LIS)
- 最长递增子序列(LIS)
- LIS问题(最长递增子序列)
- 最长递增子序列 LIS
- [LeetCode]230. Kth Smallest Element in a BST
- java字符串转日期
- 修复公路 洛谷1111 并查集
- Webservice实践(七)CXF 与Spring结合+tomcat发布
- Android 简单定制一个视频播放器
- 最长递增子序列(LIS)
- 很不错的Android轮播器框架Banner
- Date转为String
- 关押罪犯 洛谷1525 并查集
- 高通 8x26 andorid light sensor(TSL258x) 开发
- 洛谷 P1019 单词接龙
- [leetCode刷题笔记]2017.02.02
- Html笔记1
- 1052. 卖个萌 (20)