由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Joke版 - 求教一个思路
进入Joke版参与讨论
1 (共1页)
f***t
发帖数: 2247
1
求教一个思路:
已知一个一维数组 a=(1,2,2,2,3,2,2,4),如何快速判定元素“2“连续出现的最大次数
为3?
麻烦各路大神注意三个要求:
1,该元素必须是连续存在,中间不能有任何其他数值间隔
2,只求出现次数的最大值即可,次最大值等可以不管
3,算法需要越快越好
还是灌水paper用。恳请各路大神出手指点迷津!先多谢了!
d****o
发帖数: 32610
2
这个看着怎么也得全部顺序过一遍
没啥特别快的算法

【在 f***t 的大作中提到】
: 求教一个思路:
: 已知一个一维数组 a=(1,2,2,2,3,2,2,4),如何快速判定元素“2“连续出现的最大次数
: 为3?
: 麻烦各路大神注意三个要求:
: 1,该元素必须是连续存在,中间不能有任何其他数值间隔
: 2,只求出现次数的最大值即可,次最大值等可以不管
: 3,算法需要越快越好
: 还是灌水paper用。恳请各路大神出手指点迷津!先多谢了!

f*******3
发帖数: 584
3
雖然其它算法是有些許快,但其它算法有overhead,而且易產生思慮不周的bug,得不
償失。
喜歡showoff的老印最會搞這。

【在 d****o 的大作中提到】
: 这个看着怎么也得全部顺序过一遍
: 没啥特别快的算法

f***t
发帖数: 2247
4
都有些啥算法啊?可以借鉴一下思路吗?

【在 f*******3 的大作中提到】
: 雖然其它算法是有些許快,但其它算法有overhead,而且易產生思慮不周的bug,得不
: 償失。
: 喜歡showoff的老印最會搞這。

B********u
发帖数: 1
5
还能有啥办法,从头到尾数一遍
两层循环,遇到2就开始计数。 O(n)
s********d
发帖数: 105
6
如果不遍历,如何确认之后还是否存在2?
B********u
发帖数: 1
7
一个可以减少1/4计算量的办法,是遇到2 at i之后跳一位检查,如果at i+2不是2可以
直接跳过at i+1

【在 B********u 的大作中提到】
: 还能有啥办法,从头到尾数一遍
: 两层循环,遇到2就开始计数。 O(n)

m*****n
发帖数: 3575
8
2,2,x,2,2,y,2,2
这就是连续出现的最大次数场景
x和y均不等于2
当然是3个。
(8+1)//3 = 3
1 (共1页)
进入Joke版参与讨论