博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划-最长递增子序列
阅读量:4072 次
发布时间:2019-05-25

本文共 510 字,大约阅读时间需要 1 分钟。

题目描述

这是一个经典的LIS(即最长上升子序列)问题,请设计一个尽量优的解法求出序列的最长上升子序列的长度。给定一个序列A及它的长度n,请返回LIS的长度。

求解过程

给定一个数组A,以及他的长度N生成长度为N的数组dpdp[i]的含义为:必须以A[i]结尾时的最长递增子序列的长度.显然 dp[0]=1;对于i 为1-N-1时, dp[i]为比A[i]小的数结尾的最长的子序列的长度+1状态转移方程为     dp[i] = max{dp[j]+1|0<=j

代码实现

class LongestIncreasingSubsequence{public:    int getLIS(vector
A, int n) { if(!n) return 0; int *dp = new int[n]; dp[0]=1; int maxlongs = 1; for (int i=1; i
=0; --j) { if(A[j]

转载地址:http://gehji.baihongyu.com/

你可能感兴趣的文章
出现( linker command failed with exit code 1)错误总结
查看>>
iOS开发中一些常见的并行处理
查看>>
iOS获取手机的Mac地址
查看>>
ios7.1发布企业证书测试包的问题
查看>>
如何自定义iOS中的控件
查看>>
iOS 开发百问
查看>>
Mac环境下svn的使用
查看>>
github简单使用教程
查看>>
如何高效利用GitHub
查看>>
环境分支-git版本管理
查看>>
uni-app 全局变量
查看>>
js判断空对象的几种方法
查看>>
java 不用递归写tree
查看>>
springboot2 集成Hibernate JPA 用 声明式事物
查看>>
fhs-framework jetcache 缓存维护之自动清除缓存
查看>>
SpringBoot 动态编译 JAVA class 解决 jar in jar 的依赖问题
查看>>
fhs-framework springboot mybatis 解决表关联查询问题的关键方案-翻译服务
查看>>
ZUUL2 使用场景
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
elastic-job 和springboot 集成干货
查看>>