Daily AtCoder # 3 en Python

introduction

Dernière fois C'est le troisième jour.

#3 Problème

** Pensées ** 1WA, 4TLE (WA a soumis une erreur) Le plus grand ennemi cette fois était TLE. Je n'ai pas d'image de la quantité de calcul, mais je ne connaissais pas l'implémentation interne de Python. En regardant le problème, j'ai pris l'habitude de trier le problème de trouver les valeurs maximales et minimales pour le moment. Au début, je pensais que la valeur minimum sortirait si je soustrais dans l'ordre avec pour,

l = [10,15,11,14,12]
l.sort(reverse=True) #l = [15,14,12,11,10]
ans = l[0]
for i in range(n-1):
    ans = min(l[i+1] - l[i],ans)

Je pensais que cela fonctionnerait avec. Cependant, il est nécessaire de trouver la valeur minimale parmi k choisis parmi n. Par conséquent, il est nécessaire de retirer k entrées triées et max-min parmi elles. Quand j'ai réfléchi à la façon de prendre k par k, j'ai utilisé des tranches car la liste Python a des tranches. C'était une grosse erreur. Apparemment ** les tranches Python prennent ultra-temps lorsqu'elles sont effectuées sur de gros objets **. Si vous connaissez la raison, faites-le moi savoir. Est-ce que cela prend beaucoup de temps pour accéder à l'objet? Donc, celui qui TLE utilise des tranches

n, k = map(int,input().split())
h = [int(input()) for i in range(n)]
h.sort(reverse=True)

seed = h[0]
for i in range(0,n-k+1):
    high = h[i:i+k][0] - h[i:i+k][k-1] #ici
    seed = min(high,seed)

print(seed)

Je passe du temps à découper la partie commentaire. Même si je veux dire, tax_free que je veux couper a été TLE quatre fois. Si vous y réfléchissez maintenant, vous pouvez le spécifier par index sans le découper séparément.

Il s'est avéré que la tranche mangeait depuis longtemps, c'est donc ce que j'ai spécifié dans l'index

n, k = map(int,input().split())
h = [int(input()) for i in range(n)]
h.sort(reverse=True)

seed = h[0]
for i in range(0,n-k+1):
    high = h[i] - h[i+k-1]
    seed = min(high,seed)

print(seed)

Pas tranché.

Résumé

Je n'ai pas compris ce que ressent Python. Désormais, spécifiez directement par index sans utiliser de tranches. à plus

Recommended Posts

AtCoder # 36 quotidien avec Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 32 en Python
Daily AtCoder # 6 en Python
Daily AtCoder # 18 en Python
Daily AtCoder # 53 en Python
Daily AtCoder # 33 en Python
AtCoder # 7 tous les jours avec Python
AtCoder # 24 tous les jours avec Python
Daily AtCoder # 37 en Python
AtCoder # 8 tous les jours avec Python
Daily AtCoder # 42 en Python
AtCoder # 21 quotidien avec Python
Daily AtCoder # 17 avec Python
Daily AtCoder # 38 en Python
Daily AtCoder # 54 en Python
Daily AtCoder # 11 en Python
Daily AtCoder # 15 en Python
Daily AtCoder # 47 avec Python
AtCoder # 45 quotidien avec Python
AtCoder # 30 tous les jours en Python
AtCoder # 40 quotidien avec Python
AtCoder # 10 quotidien avec Python
AtCoder # 5 tous les jours avec Python
Daily AtCoder # 28 en Python
AtCoder # 39 quotidien avec Python
Daily AtCoder # 20 en Python
Daily AtCoder # 19 en Python
Daily AtCoder # 3 en Python
Daily AtCoder # 14 avec Python
Daily AtCoder # 50 avec Python
Daily AtCoder # 26 avec Python
AtCoder quotidien # 4 avec Python
Daily AtCoder # 43 en Python
Daily AtCoder # 29 en Python
Tous les jours avec Python AtCoder # 22
Daily AtCoder # 49 en Python
Daily AtCoder # 27 en Python
AtCoder # 1 tous les jours avec Python
Daily AtCoder # 25 avec Python
Daily AtCoder # 16 en Python
Daily AtCoder # 12 en Python
Daily AtCoder # 48 en Python
Daily AtCoder # 23 en Python
Daily AtCoder # 34 en Python
AtCoder # 51 quotidien avec Python
Daily AtCoder # 31 en Python
Daily AtCoder # 46 en Python
AtCoder # 35 quotidien avec Python
AtCoder # 9 tous les jours avec Python
Daily AtCoder # 44 avec Python
Daily AtCoder # 41 en Python
Atcoder ABC164 A-C en Python
atCoder 173 Python
Note d'entrée Python dans AtCoder
Atcoder ABC167 A-D en Python
Atcoder ABC165 A-D en Python
Atcoder ABC166 A-E en Python
Atcoder ABC169 A-E en Python
AtCoder ABC177 A-D avec python
Résoudre Atcoder ABC169 A-D avec Python