幸运的三元组工作代码未通过测试

时间:2017-04-08 19:41:55

标签: python performance

我和Gareth Rees有类似的解决方案。解决方案here。然而,他的解决方案和我的解决方案都无法在foobar上进行3次测试。以下是我的解决方案。我已经严格测试了两个代码,并给出了正确的结果。我想知道问题是否与时间/空间复杂性有关。以下是我的代码。

from collections import defaultdict
from collections import Counter

def answer(l):
  count=0
  if len(l)<3: return count
  d=defaultdict(set)
  occurence=Counter(l)
  l.sort()

  for i in range(len(l)):
    for j in range(i+1,len(l)):
      if l[j]%l[i]==0:
        d[l[i]].add(l[j])

  for key in sorted(list(d)):
    if occurence[key]>=3:
        count+=1
    for x in sorted(list(d[key])):          
      d[key].discard(x) 
      possibilities=len(d[x])
      count+=possibilities

  return count 

0 个答案:

没有答案