Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Consigli su un approccio di difficoltà intermedia per l HW?

James_F (6070 points)
10 14 47
in HW1 opzionale by (6.1k points)
Scartando l'hint dei dict che mi sembra troppo avanzato e non considerando il for annidato nell'altro for in quanto troppo lento per passare i timeout dei test più grevi.
Suggerimenti o consigli su un modus operandi intermedio, di modo da vedere il problema da un'altra angolazione?  dato che sono bloccato da 3 giorni sull'ottimizzazione del codice con 2 cicli.

3 Answers

Wahya (7760 points)
1 2 15
by (7.8k points)
Piccolo hint che potrebbe semplificarti o complicarti ancora di più la vita: usa while annidato nel for e vedi se riesci a rendere più veloce il codice eliminando certe sottosequenze inutili.
Exyss (21510 points)
1 2 79
by (21.5k points)

Oltre al consiglio dato da @Wahya puoi provare a vedere se con qualche piccola ottimizzazione relativa direttamente a Python riesci a superare i test (ne dovresti trovare alcune online, ad esempio quando si usa una sequenza di valori che rimane costante nel tempo è consigliato usare le tuple al posto delle liste), anche se dovresti riuscire ad ottimizzarlo molto dato che una volta eseguito dal tester di q2a andrebbe più lento e potrebbe non passarli. In alternativa puoi fare come hanno consigliato in un altro thread riguardo al fare un controllo apposito nel caso in cui la stringa contenga tutti numeri uguali.

James_F (6070 points)
10 14 47
by (6.1k points)
Penso non sia ammesso dal regolamento dell'HW usare una furbata del tipo controllare se tutti i numeri sono uguali.
In quel caso comunque avevo pensato di sortare la lista:
   se elemento iniziale uguale a elemento finale di lista sortata:
      tutti elementi uguali.
di conseguenza avrei fatto qualcosa.
Ma non sto proprio considerando quella strada in quanto troppo specifica per il test
Wahya (7760 points)
1 2 15
by (7.8k points)
Cosidera anche i test con gli zeri interni e gli zeri intorno alla coppia di uno, quelli in questo modo non li passeresti perché la lista sortata ti direbbe che il valore iniziale e finale non è lo stesso.
l.cirfeta (510 points)
0 0 5
by (510 points)
Ciao! Anche io ho provato le tue stesse soluzioni. Il dizionario  l'ho scartato perché non performava con i test da tanti '0' e tanti '1', sicuramente gli ho utilizzati male.

L'unica cosa che ho fatto é ottimizzare il più possibile lo scorrimento della lista.
James_F (6070 points)
10 14 47
by (6.1k points)
posso chiederti cosa passavi nel dizionario e, orientativamente come, ho ricevuto i dovuti suggerimenti e sono riuscito  a passare 15 test su 16 con i cicli; ma penso che imparare a fare le "pythonate" per dirla alla Spognardi, con i dict mi tornerà utile in futuro