问题:已知一个已经从小到大排序好的数组,说这个数组中的一个平台,就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在1,2,2,3,3,3,4,5,5,6中1,2.2,3.3.3,4,5.5,6都是平台。试编写一个程序,接收一个数组,把这个数组中的最长平台找出来。
以下是我的解法:
int longest_plateau(int array[],int n)
{
int maxLength = 1;
int tmpLength = 1;
int initNum = array[0];
for(int i = 0; i < n; i++)
{
if(array[i]==initNum)
{
tmpLength++;
}
else
{
if(maxLength < tmpLength )
{
maxLength = tmpLength;
tmpLength = 1;
}
else
{
tmpLength = 1;
}
initNum = array[i];
}
}
return maxLength;
}
大师David Greis的代码:
int longest_plateau2(int x[], int n)
{
int length = 1;
int i;
for(i = 1;i < n; i++)
{
if(a[i]==a[i-length])
length++;
}
return length++;
}
但是,如果当数组不是按照顺序排列好的话,下面的这个解法就会出错。
分享到:
相关推荐
标题中的“求字符串的最长平台”实际上是指寻找一个数组中具有相同值的连续子序列的最大长度,这在数据结构和算法领域中是一个常见的问题。在C语言编程中,这个问题可以通过遍历数组并比较相邻元素来解决。从给出的...
文档“2013河南省数据分析加强.doc”主要涵盖了几个计算机科学和数据处理相关的知识点,包括数组中的最长平台问题、二叉树的叶子节点链接、最小生成树的构造以及二叉排序树的验证。 1. 最长平台问题: 这是一个关于...
《最长平台》是一本专注于信息学竞赛的书籍,旨在帮助参赛者掌握解决此类问题的关键技巧。信息学奥赛,也称为OI(奥林匹克信息学),是一项考验参赛者算法设计、编程能力以及逻辑思维的比赛。该书名为"T1116",可能...
但OJ系统中会有错误,无法输出结果,因为测试平台行末并非'\n'字符。 这里接受数据用scanf的%d或%s,或cin等,会自动判别结束字符的,你就不要在你程序 里专门去判别或吸收回车字符。 对于最后一组数据输入为0表示...
本题“PTA丨最长连续递增子序列”是一个典型的动态规划问题,它涉及到数组处理、序列分析以及优化算法等方面的知识。 首先,我们要明确什么是“最长连续递增子序列”。在给定的整数数组中,一个连续递增子序列是指...
最长公共子序列(Longest Common Subsequence,LCS)问题是一个经典的计算机科学问题,主要涉及字符串处理和动态规划算法。在本场景中,我们使用C#编程语言来解决这个问题。C#是一种多范式编程语言,广泛应用于开发...
在编程竞赛(OJ)中,"在字符串中找出连续最长的数字串"是一道典型的字符串处理问题。它要求我们从一个给定的字符串中找到最长的一段连续的数字序列。这个问题涉及到字符串遍历、字符判断以及动态规划或滑动窗口等...
在编程和计算机科学领域,高级算法程序设计是解决复杂问题的关键。Educoder平台提供了一系列针对这些高级算法的训练,...通过Educoder平台的学习,开发者可以提升自己的算法思维和编程能力,更好地应对各种复杂问题。
通过理解和掌握这些知识点,不仅能解决给定的"DAG tsp路径图_最长路径"问题,还能为其他类似的问题提供解决方案。在学习和实践中,不断探索和优化算法,有助于提升对图论和动态规划的理解,提高编程能力。
1. 动态规划(DP)算法在解决最长回文子串问题中的应用 在解决最长回文子串问题时,动态规划(DP)算法是一个非常有效的方法。动态规划算法可以将问题分解成多个小问题,然后将这些小问题的解组合成最终的解。 在...
本压缩包文件“javascript-leetcode面试题解动态规划问题之第1143题最长公共子序列-题解.zip”包含了关于动态规划解决方案的详细解析,这是一道典型的算法面试题。 动态规划是一种解决复杂问题的有效方法,它通过将...
标题中的“最长配对(51Nod-2494)”可能指的是一个编程竞赛题目或算法问题,源自51Nod这个在线编程训练平台的第2494个问题。51Nod是一个为程序员提供算法练习的网站,其中的题目涵盖了许多常见的数据结构和算法知识...
OpenSceneGraph(OSG)是一个开源的三维图形库,它为C++开发人员提供了一套高效、跨平台的工具,用于构建复杂的实时3D应用程序。这个压缩包包含的资源是学习OpenSceneGraph的重要资料,包括官方API教程文档和源码,...
最长公共前缀问题是一个经典的字符串处理问题,常在编程竞赛如LeetCode等平台出现。它的目标是找到一个字符串数组中的最长公共前缀,即所有字符串都共享的最开始的部分。如果没有任何公共前缀,则返回空字符串。下面...
本题解聚焦于LeetCode的第300题——最长上升子序列(Longest Increasing Subsequence, LIS),这是一个典型的动态规划问题。 动态规划是算法设计的一种策略,通过将复杂问题分解成更小的子问题来解决。在最长上升子...
很抱歉,根据您提供的信息,“最长高地(51Nod-2509).rar”似乎是一个竞赛或挑战的问题,但没有具体的标签或者详细描述来指明这涉及到哪种IT技术或知识点。不过,从文件名推测,这可能与算法、编程竞赛或数据结构...
在本压缩包“php-leetcode题解之最长公共前缀.zip”中,主要涉及的是一个经典的算法问题——“最长公共前缀”(Longest Common Prefix),这个问题常常出现在LeetCode等在线编程挑战平台中,用于考察程序员对字符串...
在本压缩包“php-leetcode题解之无重复字符的最长子串.zip”中,包含的是关于使用PHP解决LeetCode算法问题的代码实现,特别是针对...在LeetCode等在线编程平台,这类问题的训练对提升编程技能和面试准备非常有帮助。
本题解集中关注的是“最长公共前缀”问题,这是一个典型的字符串处理问题,在面试和实际项目中都有可能出现。现在,我们将深入探讨这个问题,以及如何用JavaScript来解决它。 首先,我们要理解什么是“最长公共前缀...
这个问题在LeetCode平台上被广泛讨论,是许多程序员面试时常见的算法题。题目要求设计一个算法,从给定的字符串中找到最长的子串,这个子串中的所有字符都不重复。 该问题的核心在于滑动窗口的概念,这是一种在数组...