【发布时间】:2020-03-01 16:09:59
【问题描述】:
问题
编写一个函数 answer(l),它接受一个正整数列表 l 并计算 (lst[i], lst[j], lst[k]) 的“幸运三元组”的数量,其中 i
幸运三元组基本上是元组 (x,y,z),其中 x 除 y,y 除 z。例如 (1,2,4)。
例如,[1, 2, 3, 4, 5, 6] 有三元组:[1, 2, 4], [1, 2, 6], [1, 3, 6],使得答案共 3 个。
我的代码
def isLuckyTriple(a,b,c):
if b%a==0 and c%b==0:
return True
return False
def solution(l):
count=0
l=sorted(l)
for i in range(len(l)-2):
for j in range(i+1,len(l)-1):
for k in range(j+1,len(l)):
if isLuckyTriple(l[i],l[j],l[k]):
count+=1
return count
我的问题
我已经查看了一些关于这个问题的 stackoverflow 答案。我知道如何以不同且更优化的方式来做到这一点。唯一的问题是我上面的代码在 5 个给定的测试用例中只通过了 2 个测试用例。我想了解我在以上代码中做错了什么。我更感兴趣的是找出我的错误,而不是以更好的方式去做。
如果您不认为代码不正确,那么是否会因为解决方案非常慢而导致测试用例失败?
我们将不胜感激。
【问题讨论】: