博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最长递增子序列
阅读量:6496 次
发布时间:2019-06-24

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

给定数组arr,返回arr最长递增子序列。

举例:

arr=[2, 1, 5, 3, 6, 4, 8, 9, 7],返回的最长递增子序列是[1,3,4,8,9]。

 

方法:

建立dp[i]数组,每一位表示以这一位结尾的最长递增子序列,然后根据最大值求出子序列。

 

时间复杂度为O(n^2).

代码:

public class Main {      //求出dp数组    public static int[] getDP(int[] array) {        if(array==null || array.length==0) {            return null;        }                int len = array.length;        int[] dp = new int[len];        for(int i=0; i
max) { max = dp[i]; index = i; } } int[] res = new int[max]; res[--max] = array[index]; for(int j=index; j>=0; j--) { if(array[j]

 

转载于:https://www.cnblogs.com/loren-Yang/p/7536355.html

你可能感兴趣的文章
双网卡一般情况不能有两个网关 (转)
查看>>
xshell 远程连接Linux
查看>>
Linux计划任务及压缩归档(week2_day1)--技术流ken
查看>>
微信小程序登录 该死的官方文档TypeError: the JSON object must be str, not 'bytes'
查看>>
VMware 虚拟机克隆 CentOS 6.5 之后,网络配置问题的解决方案
查看>>
Python ( 1 ) ----- 简介
查看>>
[linux基础学习]run level
查看>>
第七周学习总结
查看>>
一步步的教你安装UChome (UChome 安装教程)
查看>>
[DeeplearningAI笔记]序列模型1.5-1.6不同类型的循环神经网络/语言模型与序列生成...
查看>>
P2533 [AHOI2012]信号塔
查看>>
Android电话拨号器(uri格式)与四种设置点击事件的方法
查看>>
java web中对json的使用
查看>>
TYVJ P1051 选课 Label:多叉转二叉&&树形dp(虐心♥)
查看>>
将数据库中提取出来的数据在后台进行分页处理
查看>>
bzoj1034
查看>>
百度地图 鼠标绘制,获取矩形,多边形的顶点经纬度
查看>>
回文树模板
查看>>
struts2之防止表单重复提交
查看>>
【转】Netty系列之Netty并发编程分析
查看>>