Donc, ce que j'essaie de faire est de trouver le nombre de nombres alternés de telle sorte qu'il alterne avec -ve et signe positif pour par exemple: 1 -2 3 -4 m'obtiendrait 4 3 2 1 de 1 à -4 y compris les deux nombres il y a 4 nombres. Simillarly pour 1 1 -3 2 me donnerait 1 3 2 1 Maintenant j'ai le code mais je ne peux pas l'optimiser et il me renvoie une erreur de limite de temps dépassée même si cela fonctionne pour un flux d'entrée modéré.Comment puis-je réduire le nombre de boucles ou de complexité
j=0
count=0
length=(raw_input())
st=map(int,raw_input().split())
while j+1 < len(st):
k=j+1
count=0
temp=j
while k<len(st) and ((st[k]<0 and st[j]>0) or (st[k]>0 and st[j]<0)):
count+=1
k+=1
j+=1
print count+1,
j=temp+1
print 1
Votre question est hors-sujet. Mais vous pouvez peut-être l'essayer à [revue de code] (https://codereview.stackexchange.com/) –
Si vous voulez obtenir le nombre de numéros différents, il suffit d'ajouter tout à un ensemble et obtenir la longueur définie –
Cela appartient sur https : //codereview.stackexchange.com – Torxed