最长相等子序列长度(顺序表)
来源:互联网 发布:linux expect sftp 编辑:程序博客网 时间:2024/06/08 23:57
1.题目:
Problem Description
给定一个有n个元素的整数数组b,b中连续的相等元素构成的子序列称为平台。设计一个算法求b中最长平台的长度。
Input
第一行为一个数字m,表示下面有m组数据,每组数据包括2行;每组数据中的第一行表示数组的长度n(不会超过20,但可为空表),第二行表示数组的所有元素。
Output
输出最长平台的长度。
Sample Input
2811 3 8 8 8 8 8 71011 3 3 25 8 8 8 8 8 7
Sample Output
55
2.参考代码:
#include <iostream>using namespace std;class LinkList{private:int data[100],len;public:LinkList(int* a,int n);void Delete();};LinkList::LinkList(int* a,int n){for(int i=0;i<n;i++)data[i]=a[i];len=n;}void LinkList::Delete(){ ///核心代码if(len==0) ///别忘了空表的处理{cout<<0<<endl;return ;}int i,j,k,max=0;for(i=0;i<len;i++){k=1; ///初始化为一个for(j=i+1;j<len;j++){if(data[i]!=data[j]) //不相等就结束break;k++; ///计算连续相等的个数}if(max<k) ///求出最长的平台max=k;}cout<<max<<endl;}int main(){int t,n,i,a[100];cin>>t;while(t--){cin>>n;for(i=0;i<n;i++)cin>>a[i];LinkList e(a,n);e.Delete();}return 0;}
- 最长相等子序列长度(顺序表)
- 最长公共子序列长度
- C++ 给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)输出最长子序列的长度及对应的子序列
- 最长递增子序列长度+最长公共子序列
- 最长递增子序列长度+最长公共子序列
- LCS(求出最长公共子序列长度)
- 合唱队--最长递增(减)子序列长度
- 最长连续子序列长度(最多改变一个数)
- 最长递增子序列长度(动态规划)
- hdu6197 最长上升子序列(LIS)长度
- 最长递增子序列(输出最长递增序列 及其长度)
- 求最长递增子序列的长度
- 最长公共子序列的长度
- 最长递增子序列长度问题
- 最长上升子序列(LIS)长度
- 求最长上升子序列的长度
- 求最长连续递增子序列长度
- 求最长有序子序列长度
- poj3429(有错)
- 动态规划之切割钢条
- ubuntu 12.10中MyEclipse 10.6+下载+安装+破解
- UVA 10003 Cutting Sticks 切木棍 dp
- 求N!的位数 三种不同方法
- 最长相等子序列长度(顺序表)
- 34. 以开源来实现志向
- 1513 hdu Palindrome 滚动数组+LCS
- 找出字符串中连续出现次数最多的子串
- 【安博培训笔记】Java 基础_下课作业2_20130920
- 仿射密码加密算法
- C#中日期运算以及获取日期的各种格式
- Tomcat 7.0在Unix\Linux\Ubuntu 12.04上的安装过程
- POJ2479