求最长的递增数列(Longest Increasing sequence, LIS)是一个比较常见的问题。
给定数列 10, 22, 9, 33, 21, 50, 41, 60, 80,那么 LIS 为 10, 22, 33, 50, 60, 80
分析思路: 假定 array[0, 。.n-1]为输入数据, LIS[i]为array[0, 。。.i-1]时的LIS (i 》0, i《= n),并且 array[i]是 LIS[i]的最后一个元素。
那么,LIS(i) = {1 + max(LIS(j))}, 其中, j 《 i, array[j] 《= array[i]。
如果没有满足条件的j,LIS(i) = 1
方法1: 使用递归函数。
显然,这是一个时间复杂度高的方法,很多函数重复调用了。
方法2:把中间结果保下来,避免重复计算:
-
算法
+关注
关注
23文章
3791浏览量
89325 -
C语言
+关注
关注
175文章
6650浏览量
116321 -
递增
+关注
关注
0文章
3浏览量
6630
发布评论请先 登录
相关推荐
C语言的算法设计之魔方阵
今天一起分析C语言的算法之16:设计魔方阵。算法题目:设计魔方阵:魔方阵就是由自然数组成的方阵,方阵的每个元素都不相同,且每行和每列以及主副对角线上的各个元素之和都不相同。编程思路分析编程思路:1
发表于 05-05 09:17
c语言常用算法
非常实用的《c语言常用算法程序集》针对工程中常用的行之有效的算法而编写,其主要内容包括多项式的计算、复数运算、随机数的产生、矩阵运算、矩阵特征值与特征向量的计算、线性代数方程组的求解、非线性
发表于 04-11 16:41
51单片机实战教程之C语言基础(五 C语言函数及其定义)
虽然部分C语言函数的返回值与其参数存在对应关系,但是它与数学里的函数不是同一概念。有的书上把它定义为完成特定任务的代码集合。 C语言函数的格式为:返回值数据格式 函数名(参数列表){函数体
发表于 11-21 09:51
•31次下载

C语言教程:STL-for-each算法
C语言教程:STL-for-each算法(电源技术版面费5400)-文档为C语言教程:STL-for-each算法总结文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,
发表于 09-17 12:42
•1次下载

使用C语言进行PID算法实现
前文对PID算法离散化和增量式PID算法原理进行来探索,之后又使用Matlab进行了仿真实验,对PID三个参数又有了更深入的认识,接下来我们来使用C语言进行PID算法实现,并且结合控制电机的项目来深入学习。
发表于 09-16 09:11
使用C语言进行PID算法实现
前文对PID算法离散化和增量式PID算法原理进行来探索,之后又使用Matlab进行了仿真实验,对PID三个参数又有了更深入的认识,接下来我们来使用C语言进行PID算法实现,并且结合控制电机的项目来
发表于 09-15 09:20
单片机常用的14个C语言算法
、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。一、计数、求和、求阶乘等简单算法此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意...
发表于 07-15 10:02
什么是PID控制算法?PID控制算法C语言是如何实现的?
什么是PID控制算法?PID控制算法C语言是如何实现的?特殊情况下的控制算法该如何去调整?比例、积分、微分三个环节的控制作用分别是什么?
发表于 06-29 09:24
关于10大C语言基础算法
这10大C语言基础算法,在面试中会经常遇到! 算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文是近百个C语言
发表于 04-29 14:30
数据结构与算法分析—C语言描述
《数据结构与算法分析:C语言描述》曾被评为20世纪顶尖的30部计算机著作之一,作者在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评,已被世界500余所大学选作教材。
发表于 10-14 08:00
•10次下载

10个经典的C语言面试基础算法及代码
1、计算Fibonacci数列Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。C语言实现的代码如下:/* Displaying
发表于 07-25 17:07
求C语言PID算法的具体分析
有人能帮我具体分析一下下面这段PID算法吗,特别是第6和第7行,各位大神帮帮忙啊,谢谢了!01//**********PID算法******02long int ID(int setpoint
发表于 07-01 22:53
经典算法大全(51个C语言算法+单片机常用算法+机器学十大算法)
启发式搜索算法 九、图像特征提取与匹配之SIFT算法 九(续)、sift算法的编译与实现 九(再续)、教你一步一步用c语言实现sift算法、上九(再续)、教你一步一步用c语言实现sift算法、下
发表于 10-23 14:31
c语言如何实现idea算法
摘要: IDEA即国际数据加密算法,也是目前使用广泛的一种算法。本文详细介绍了IDEA算法以及c语言如何实现idea算法,下面一起来看看原文。
发表于 12-08 17:34
•3842次阅读
10个经典的C语言面试基础算法及代码
算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文包括了经典的Fibonacci数列、简易计算器、回文检查、质数
发表于 11-20 15:18
基于C语言的RSA算法的实现
RSA算法是现代公钥密码体制事实上的标准,既能用于数据加密解密也能用于数字签名。本文重点介绍RSA的算法原理,研究在数字签名和密钥交换方面的应用,分析RSA存在的安全问题以及RSA在C语言中具体的实现过程,并针对RSA算法中存在的缺点进行深入的分析研究。
发表于 12-21 10:19
•12次下载
基于C语言的几种排序算法的分析
排序是计算机程序设计中一项经常发生的操作,排序算法的研究有其重要的理论及应用意义。文中就几种排序算法的思想,C语言例程以及时间复杂度进行了分析讲解,并指出几种排序算
发表于 09-18 10:31
•102次下载
求教c语言 战争模拟器的士兵移动算法
求教c语言战争模拟器的士兵移动算法是这样的,我定义了一个结构体数组来存放士兵信息,现在有敌方的坐标(x,y)和自己的坐标(i,j)求一种比较合理的算法。
发表于 07-18 18:25
实数FFT算法的设计及其C语言实现
首先分析实数FFT算法的推导过程,然后给出一种具体实现FFT算法的C语言程序,可以直接应用于需要FFT运算的单片机或DSP等嵌入式系统中。
发表于 01-13 11:32
•1w次阅读

CRC算法原理及C语言实现
CRC算法原理及C语言实现:本文从理论上推导出CRC 算法实现原理,给出三种分别适应不同计算机或微控制器硬件环境的C 语言程序。读者更能根据本算法原理,用不同的语言编写出独特
发表于 09-23 23:38
•30次下载
基于随机码数列的文件加密算法的实现
本文提出一种基于随机码数列的文件加密算法。该算法采用按位随机码数列+异或+循环密钥的方式进行加密。与传统的和其它加密方法相比,增加了破译难度而系统开销并不大。
发表于 08-12 08:14
•28次下载
用C语言实现DES算法
用C语言实现DES算法
本DES算法,使用了效率很高的C完成。目前,国内知名企业的POS终端中,单DES算法,均是采用这个函数完成。函数经本站验证过,可以
发表于 01-16 10:09
•3019次阅读
评论