我都不好意思瘦自己是学计算机的,对于自己写代码的能力自惭形秽,但是我相信勤能补拙,希望在接下来的日子里,好好学习,争取有所收获。
最长平台问题
已知一个已经从小到大排序的数组,这个数组中的一个平台(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、程序的语句也要越少约好。
我看到这个问题的时候,还是有点无从下手的赶脚,对于还蛮无语的,但是我厚着头皮写了自己想的代码。如下。
看着自己的代码,真的有点惨不忍睹的赶脚,虽然在某种程度上实现了功能,实验结果如下:
但是程度还存在着很多的不足,首先结束输入的时候,必须换行输入ctrl+z才能结束,其次当有两个平台都是最长的平台的时候,只能输出后面的那个最长平台。
看了最后的答案,核心的也就几行,如下所示:
但是似乎好像就求出了最长平台的长度,而没有输出最长的平台的数字呢。
但是这样的思路真是收益匪浅啊,一个很好的思路,值得好好学习的。
对于我写的代码,自己都要嘲讽自己的啊,不过有人告诉我,能够看到自己的不足,自嘲也是一种成长,我会加油的。
不知道有没有读者,但还是希望看到的小伙伴们能够给我一点批评的哇。