递增子序列数目计算的算法

这是前几天笔试时,考场上想出来的算法,但是算了两次都不一样,最后只好蒙了一个选项,悲催!

问题如下:

给定一个整数序列,例如 4,2,6,3,7,1  ,该序列有多少个递增子序列?

我的算法如下:

记第i个元素为arr[i] ,记以第i个元素结尾的递增子序列有N[i]个,

则,考虑以第i+1个元素结尾的所有递增子序列,

首先置N[i+1]=1;//表示只有第i+1个元素一个元素的子序列。

对j=1...i

          如果arr[j]<arr[i+1]

                  N[i+1]+=N[j]


最后结果等于N数组里所有元素之和。

阅读更多
文章标签: 算法
个人分类: 算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

递增子序列数目计算的算法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭