Python---查找序列的最长递增子序列
查找序列的最长递增子序列
什么是序列的最长递增子序列?
答:在一个数值序列中,找到一个子序列,使得这个子序列元素的数值依次递增,并且这个子序列的长度尽可能地大。这就是所谓的最长递增子序列
from itertools import combinations
from random import sampledef subAscendingList(arr):'''返回最长递增子序列'''for length in range(len(arr), 0, -1):#按长度递减的顺序进行查找和判断for sub in combinations(arr, length):#判断当前选择的子序列是否为递增顺序;长度为arr列表的长度递减,从arr列表中找,然后进行排列组合if list(sub) == sorted(sub):#找到第一个就返回;将得到的sub进行升序排序,若与原来的列表相等,即为递增的列表最大长度return sub
'''
Python itertools模块combinations(iterable, r)方法可以创建一个迭代器,
返回iterable中所有长度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序。
'''arr=[]
n=int(input("请输入给定序列的个数:"))
print("请依次输入给定序列的值:")
for i in range(n):arr.append(int(input()))
print("最大递增子序列为:")
print(subAscendingList(arr))
效果图如下:
Python---查找序列的最长递增子序列相关推荐
- 【LeetCode 二分查找专项】最长递增子序列(300)(to be polished...)
文章目录 1. 题目 1.1 示例 1.2 说明 1.3 提示 1.4 进阶 2. 解法一(动态规划) 2.1 分析 2.2 解答 2.3 复杂度 3. 解法二(二分查找) 3.1 分析 3.2 解答 ...
- leetcode(300)—— Longest Increasing Subsequence(最长递增子序列)
参考 Python 解法: 动态规划 -- 最长递增子序列(LIS) 原题位置:Longest Increasing Subsequence | LeetCode OJ 题目的说明: 严格递增: 子序 ...
- 最长递增子序列和网易去除最少使从左向右递增又递减问题
(1)最长递增子序列问题 有两种方法:(1)动态规划方法(2)类似二分查找的方法O(nlogn) 动态规划方法: 以i结尾的序列的最长递增子序列和其[0, i - 1]"前缀"的最 ...
- NC91 最长递增子序列
NC91 最长递增子序列 这道题n的范围是1e5,因此不能使用常规的dp[i],表示以i结尾的最大的子序列,因为这个时间复杂度是n方级别.因此要换一种算法. 贪心+二分,时间复杂度为O(nlogn) ...
- 最长递增子序列(LIS)
最长递增子序列(LIS) 问题描述: 求一个序列的最长递增子序列,这样的子序列是允许中间越过一些字符的,即留"空". 例如:4 2 3 1 5 的最长递增子序列为 2 3 5,长度 ...
- 最长递增子序列的三种算法
转载自:http://qiemengdao.iteye.com/blog/1660229 最长递增子序列 问题 给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱).例如 ...
- 动态规划(最长递增子序列)---最长递增子序列
最长递增子序列 300. Longest Increasing Subsequence (Medium) 题目描述: 给定一个数组,找到它的最长递增子序列 思路分析: 动态规划思想,定义一个数 ...
- 最长递增子序列问题合集
最长递增子序列问题 合并LIS(JLIS) 第k个最大递增子序列(KLIS) 对于求单个序列的最长递增子序列网上的太多就不多写了,以下是它的一些进阶算法 合并LIS(JLIS) 题意 两个整数序列A和 ...
- python最大连续递增子列_最长递增子序列(LIS)解法详述
求数组中最长递增子序列(Longest Increasing Subsequence, LIS) LIS问题是算法中的经典题目,传统的解法是使用动态规划,时间复杂度是O(n^2):改进的方法时间复杂度 ...
最新文章
- php数据 文本_php直接调用文本文件内容
- WijmoJS 2019V1正式发布:全新的在线 Demo 系统,助您快速上手,开发无忧
- Js 原型对象与原型链(转)
- TortoiseSVN图标设置在注册表中的位置
- 【mysql】配置 选项文件
- django的页面报错中出现xxxx.html (Skipped)
- [转]Java反射机制详解
- android 画圆教程,android shap画圆(空心圆、实心圆)
- PHP用gd库给图片添加水印,php用GD库给图片添加水印
- word的公式后加编码后自动变小
- Frobenius norm(Frobenius 范数)
- Linux发行版CentOS下Docker的安装和卸载
- textaligncenter仍然不居中_三星Galaxy S21/S21+保护膜曝光:居中挖孔 回归直屏_手机行情...
- 服务器安装lnmp的时候出现client_loop: send disconnect: Connection reset by peer
- 三十万,买一只基金,放着不管,五年后会怎么样?
- zoj 1372
- 【语音处理】开始学习语音,从基本概念和应用讲起
- 一个月薪 12000 的北京程序员的真实生活
- Windows 10 应用创建模糊背景窗口的三种方法
- Datagrip连接mysql错误[08S01]解决办法
热门文章
- android 自定义弹窗diss,Android中自定义PopupWindow,动态弹窗。
- HTML5新增属性学习笔记
- tennylvHTML5实现屏幕手势解锁(转载)
- 给你的博客换个装-园子换装指南
- Codeforces 1070A Find a Number(BFS) 2018-2019 ICPC, NEERC, Southern Subregional Contest Problem A
- jenkins jar包上传maven仓库
- 集合、深浅拷贝、文件操作(读、写、追加)函数初识(参数)
- $.ajax所犯的错误。success后面不执行
- MyEclipse 6.5安装maven插件
- 为什么django+mongo在windows上session能够获取到,同样的程序在linux上就会报session的变量错误,keyerror?...