f***t 发帖数: 2247 | 1 【 以下文字转载自 Joke 讨论区 】
发信人: ftmit (八戒), 信区: Joke
标 题: 求教一个思路
发信站: BBS 未名空间站 (Mon Feb 7 17:51:27 2022, 美东)
求教一个思路:
已知一个一维数组 a=(1,2,2,2,3,2,2,4),如何快速判定元素“2“连续出现的最大次数
为3?
麻烦各路大神注意三个要求:
1,该元素必须是连续存在,中间不能有任何其他数值间隔
2,只求出现次数的最大值即可,次最大值等可以不管
3,算法需要越快越好
还是灌水paper用。恳请各路大神出手指点迷津!先多谢了! | f***t 发帖数: 2247 | | a*****s 发帖数: 1 | | f***t 发帖数: 2247 | 4 除了顺序过一遍,就没有别的更快的办法了吗?
【在 a*****s 的大作中提到】 : O(n)一趟扫描,还能有更快的吗?
| J*****3 发帖数: 25 | 5 先发苹果吧 淑环的苹果山拿出一些苹果
再告诉你《鬼吹灯》和《盗墓笔记》的区别 | b******r 发帖数: 1 | 6 扫出一个最大值以后就可以按这个值扫。
比如扫出两个连续的2以后就可以隔一个扫一下。
: 除了顺序过一遍,就没有别的更快的办法了吗?
【在 f***t 的大作中提到】 : 除了顺序过一遍,就没有别的更快的办法了吗?
| f***t 发帖数: 2247 | 7 谢谢大神,这个思路能快些。
【在 b******r 的大作中提到】 : 扫出一个最大值以后就可以按这个值扫。 : 比如扫出两个连续的2以后就可以隔一个扫一下。 : : : 除了顺序过一遍,就没有别的更快的办法了吗? :
| s*****g 发帖数: 225 | 8 你自己不想一下这个方法:隔一个出现2,其他不是2的情形吗?
【在 f***t 的大作中提到】 : 谢谢大神,这个思路能快些。
|
|