Voici ma solution à the Lead Game problem on Codechef. Il fonctionne bien, mais a pris 2.63 sec et 3.8M de mémoire, alors que j'ai vu beaucoup de programmes C qui avaient terminé en 0.08 secondes et 1.6M de mémoire. Comment puis-je le rendre plus rapide?Améliorer la vitesse d'une solution Python à l'exercice Lead Game
import sys
cnt = int(sys.stdin.readline())
match = [[int(x) for x in sys.stdin.readline().split()] for i in range(cnt)]
diff=[]
for i in range(cnt):
if i!=0:
match[i]=[sum(vals) for vals in zip(match[i-1],match[i])]
diff.append([1 if max(match[i])==match[i][0] else 2,abs(match[i][0]-match[i][1])])
maxval = max(diff,key=lambda x:x[1])
sys.stdout.write(str(maxval[0]) + ' ' + str(maxval[1]))
avez-vous essayé d'exécuter votre code avec profiler? Quelle partie prend le plus de temps? – dbf
@dbf: Je ne l'ai pas fait. Comment je fais ça. Ce serait génial si vous pouviez me pointer quelque part. Merci! – mankand007
Êtes-vous opposé à l'utilisation de paquets tiers (par exemple 'numpy')? J'imaginais que vous pourriez obtenir une performance de vitesse là-bas. – mgilson