【发布时间】:2014-10-01 20:38:03
【问题描述】:
任务说明在这里:https://codility.com/demo/take-sample-test/peaks 也在这里:Codility Peaks Complexity
首先,我尝试自己解决这个问题,但只能想出我认为是蛮力解决方案的方法。但是,它的得分为 100/100:https://codility.com/demo/results/demoRNWC3P-X4U
这显然让我完全不满意。 ;) 为N 的每个因子调用外部循环(或为每个峰值,以较小者为准),为每个峰值调用内部循环(只需检查每个块中是否有峰值)。也许那是O(N^2),也许更好一点(因为它在时间限制内通过了测试)但我几乎可以肯定它不是O(N*log(log(N)))。
然后我尝试搜索O(N*log(log(N))) 解决方案,但其他人似乎都有与我非常相似的解决方案。
那么有人对O(N*log(log(N)))(或更好的)解决方案有想法吗?
另外,如果有人能告诉我我的解决方案有多复杂,我将不胜感激。
【问题讨论】:
-
不登录就看不到问题,能否复现问题本身的问题描述?
-
Afaik,它受版权保护,所以不应该在这里复制?但是,一位用户已经这样做了,我添加了一个指向他的问题的链接(带有任务描述)。