https://www.codewars.com/kata/best-travel/train/python
我的代码超时了,我还能做得更好吗?
def choose_best_sum(t, k, ls):
import itertools
values=list(itertools.combinations(ls,k))
distances=[]
for row in values:
dis=0
for i in range(k):
dis+=row[i]
distances.append(dis)
while len(distances)!=0 and max(distances)>t:
#print("max:",max(distances),"min:",min(distances))
distances.pop(distances.index(max(distances)))
if len(distances)==0:
result="None"
else:
result=max(distances)
return result
xs = [100, 76, 56, 44, 89, 73, 68, 56, 64, 123, 2333, 144, 50, 132, 123, 34, 89]
choose_best_sum(230, 4, xs)#, 230)
choose_best_sum(430, 5, xs)#, 430)
choose_best_sum(430, 8, xs)#, None)https://stackoverflow.com/questions/51368440
复制相似问题