1,已知一个已经从小到大排序的数组,这个数组中的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。
例如,在 1,2,2,3,3,3,4,5,5,6中1,2.2,3.3.3,4,5.5,6都是平台。试编写一个程序,接受一个数组,把这个数组中最长的平台找出来。在上面的例子中就是3.3.3就是该数组中最长的平台。
[说明]
这个程序十分简单,但是要编写好却不是很容易,因此在编写程序时应该考虑下面几点:
(1)使用的变量越少越好。
(2)能否只是把数组的元素每一个都只查一次就得到结果?
(3)程序语句也要越少越好。
这个问题曾经困扰过David Gries这位知名的计算机科学家。本题与解答取自Dacid Gries编写的有关程序设计的专著。
2,实现代码:
#include<iostream>
using namespace std;
int getArrayNum(int data[],int n)
{
int len=1;
for(int i=1;i<n;i++)
{
if(data[i]==data[i-len])
len++;
}
return len;
}
int main()
{
int data[]={1,2,2,2,3,3,3,3,3,3,5,5,5};
int n=sizeof(data)/sizeof(data[0]);
cout<<"数组平台的长度:"<<getArrayNum(data,n)<<endl;
return 0;
}
分享到:
相关推荐
求字符串的最长平台,c语言编写,数据结构试验会用得到
【题目描述】 已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3...输出最长平台的长度。
最长平台(信息学奥赛一本通-T1116).rar
求解最大子序列、最长递增子序列、最长公共子串、最长公共子序列. http://blog.csdn.net/ssuchange/article/details/17341693
/*index保存最长平台在s中的开始位置,max保存其长度*/ while (i) if (s.data[i]==s.data[i+1]) { i++; length++; } else /*上一个平台结束*/ { if (max) /*当前平台长度大,则更新max*/...
、冒泡排序、反序输出、平移数据、最大数位置、最长平台、显示学生信息、时钟、输出门票信息、三角形周长、计算圆、用户登录、实现打印机、形状计算器、游戏角色操作、水果、随机数、QQ号去重、生成双色球、世界杯、...
C++笔试题 Sony笔试题 几道题目及自做答案 北电 普天C++笔试题 我所收集的intel比试题 面试题 ...C语言最长平台算法 华为3COM C语言题库 将两个无序数组合并为有序链表 上海聚力传媒技术有限公司官方VC笔试题解答
但OJ系统中会有错误,无法输出结果,因为测试平台行末并非'\n'字符。 这里接受数据用scanf的%d或%s,或cin等,会自动判别结束字符的,你就不要在你程序 里专门去判别或吸收回车字符。 对于最后一组数据输入为0表示...
只有资源文件,没有入口程序和测试用例,在OJ平台上满分
功能:aaabbcccdfff,寻找最长字符平台,输入为字符串。输出为开始位置,字符,以及最大长度。
该代码,能够输出用户输入字符串中最常的回文串,可直接在vc6.0平台上运行,不过该代码的效率不高,时间复杂度为o[n^2],希望大家多多指教……
《中文科技期刊数据库》是国内读者使用时间最长、使用群体最广泛的产品; 维普公司20年来一直向用户提供中文期刊资源的信息挖掘及服务,具备数据分析、挖掘经验,致力于为客户提供最经济且实用的期刊资源整合服务,...
Java平台基础 task1 编写一个处理数组的程序。 初始条件:数组只包含-10到10之间的整数(允许使用(int) Math.random()方法生成元素),程序必须将原始数组和结果输出到控制台,个数数组中的元素为 20。选项: 在...
为了有最高的性能,平台将Server.ScriptTimeOut的时间设置为15秒,就是说,一个ASP页面必须在15秒内在cpu中运行完成,如果不完成,就会出错。有一些用户用大的论坛,需要长时间的计算,就有可能需要修改这个参数,...
摘要:设置交巡警平台需要考虑各平台工作量的均衡性以及最长出警时间不能超过3min这两个方面,可利用0-1整数规划,建立平台管辖区域划分模型。发生突发事件时,交巡
针对云计算中平台主机之间工作负载分布的作业调度问题,提出了一种基于近似ε-约束的优化算法。将作业调度问题建模为一个数学决策模型,求出模型的可行工作调度集,利用ε-约束算法获得每个单目标模型的帕累托前沿,...
从基础知识、环境需求、系统安装、开发工具、开发规则到开发实例,由浅入深全面介绍轻开平台的Web和移动App(安卓、IOS)服务器开发过程,非职业程序员一周即能上手开发,有基础的程序员只需一天。 轻开平台CSDN...
然后统计偏态出现的平均间隔,最长间隔,最多间隔,最少间隔以及连续出现的最多次数(可在EXCEL上用函数制作,所有数据就自动生成了)。对以上数据了如指掌后,我们对下期能否出现偏态,甚至近期能否出现偏态就能...
在课程设计中,程序设计语言采用Visual C++,程序运行平台为Windows 98/2000/XP。对于迷宫逃离路线的产生及打印本系统采用了栈的结构,有利于数据的存储与输出。在设计该程序时采用了挨个试探的方法,简单易懂。程序...
选定风电起重维修平台夹紧机构的顶杆伸出最长时,即风电起重维修平台夹紧机构位于风力发电机塔筒最上部时为分析工况,运用有限元分析技术对风电起重维修平台夹紧机构进行静力学性能分析.结果 在选定的工况下,夹紧...