`
kmplayer
  • 浏览: 509814 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

最长平台

 
阅读更多
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语言编程中,这个问题可以通过遍历数组并比较相邻元素来解决。从给出的...

    1116:最长平台.cpp

    【题目描述】 已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3...输出最长平台的长度。

    最长平台(信息学奥赛一本通-T1116).rar

    《最长平台》是一本专注于信息学竞赛的书籍,旨在帮助参赛者掌握解决此类问题的关键技巧。信息学奥赛,也称为OI(奥林匹克信息学),是一项考验参赛者算法设计、编程能力以及逻辑思维的比赛。该书名为"T1116",可能...

    求解最大子序列、最长递增子序列、最长公共子串、最长公共子序列

    求解最大子序列、最长递增子序列、最长公共子串、最长公共子序列. http://blog.csdn.net/ssuchange/article/details/17341693

    2013河南省数据分析加强.doc

    文档“2013河南省数据分析加强.doc”主要涵盖了几个计算机科学和数据处理相关的知识点,包括数组中的最长平台问题、二叉树的叶子节点链接、最小生成树的构造以及二叉排序树的验证。 1. 最长平台问题: 这是一个关于...

    java的部分例题的源代码

    /*index保存最长平台在s中的开始位置,max保存其长度*/ while (i) if (s.data[i]==s.data[i+1]) { i++; length++; } else /*上一个平台结束*/ { if (max) /*当前平台长度大,则更新max*/...

    该压缩包里是Java的复习材料,适合初学者练习,包括简单计算器、分段函数、找素数、水仙花数、质数的和与积、哥德巴赫猜想等等

    、冒泡排序、反序输出、平移数据、最大数位置、最长平台、显示学生信息、时钟、输出门票信息、三角形周长、计算圆、用户登录、实现打印机、形状计算器、游戏角色操作、水果、随机数、QQ号去重、生成双色球、世界杯、...

    OJ_在字符串中找出连续最长的数字串

    在提交代码到OJ平台之前,务必先在本地进行充分的测试,确保对各种输入情况都能正确处理。通常,OJ会提供一组测试用例,包括正常情况和边缘情况,以验证你的解决方案的正确性和效率。 总的来说,解决"在字符串中找...

    C++ 笔试题 google 微软 华为 索尼 中兴 大唐 各种C++笔试题目

    C++笔试题 Sony笔试题 几道题目及自做答案 北电 普天C++笔试题 我所收集的intel比试题 面试题 ...C语言最长平台算法 华为3COM C语言题库 将两个无序数组合并为有序链表 上海聚力传媒技术有限公司官方VC笔试题解答

    电子技术基础复习题 (2).doc

    10. 最长平台长度:寻找连续相等元素的最长序列,可以使用滑动窗口或双指针方法。 11. 矩阵查找:题目要求线性时间复杂度,可以使用双指针从两个边界开始比较并移动。 12. 递增有序数组归并:将两个有序数组合并为...

    PTA丨最长连续递增子序列

    在编程和算法领域,"PTA(Programming Task Assistant)"是一个常见的在线编程平台,它提供了各种编程题目供学习者练习和提升技能。本题“PTA丨最长连续递增子序列”是一个典型的动态规划问题,它涉及到数组处理、...

    最长公共子序列的动态规划算法

    C#是一种多范式编程语言,广泛应用于开发Windows平台的应用程序,同时也适用于Web和移动应用开发。 动态规划是一种解决问题的方法,它将复杂问题分解为较小的子问题,并存储子问题的解以避免重复计算。在最长公共子...

    最长上升子序列

    但OJ系统中会有错误,无法输出结果,因为测试平台行末并非'\n'字符。 这里接受数据用scanf的%d或%s,或cin等,会自动判别结束字符的,你就不要在你程序 里专门去判别或吸收回车字符。 对于最后一组数据输入为0表示...

    TSP.rar_dag_tsp路径图_最长路径

    清华大学在线评测系统(Online Judge,简称OJ)是一个用于编程竞赛和练习的平台,提供各种算法题目供用户解决。这个"TSP.rar_dag_tsp路径图_最长路径"题目可能是OJ上的一道挑战,要求用户编写程序来实现动态规划求解...

    OSG最长的一帧.pdf

    其设计目标是提供一个灵活、高效、跨平台的3D图形渲染解决方案。OSG采用了面向对象的设计模式,支持多种高级特性,如光照、纹理映射、阴影等,并且可以通过插件扩展功能。 #### 三、核心知识点解析 ##### 1. `...

    最长回文子串(dp)1

    1. 动态规划(DP)算法在解决最长回文子串问题中的应用 在解决最长回文子串问题时,动态规划(DP)算法是一个非常有效的方法。动态规划算法可以将问题分解成多个小问题,然后将这些小问题的解组合成最终的解。 在...

    最长一帧官方教程OpenSceneGraph源码下载.7z

    OpenSceneGraph(OSG)是一个开源的三维图形库,它为C++开发人员提供了一套高效、跨平台的工具,用于构建复杂的实时3D应用程序。这个压缩包包含的资源是学习OpenSceneGraph的重要资料,包括官方API教程文档和源码,...

    最长配对(51Nod-2494).rar

    标题中的“最长配对(51Nod-2494)”可能指的是一个编程竞赛题目或算法问题,源自51Nod这个在线编程训练平台的第2494个问题。51Nod是一个为程序员提供算法练习的网站,其中的题目涵盖了许多常见的数据结构和算法知识...

Global site tag (gtag.js) - Google Analytics