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

Do you need help?

Soluzione semi-funzionante. Meglio cambiare idea?

SimoneBd96 (3030 points)
6 12 33
in HW1 opzionale by (3.0k points)
recategorized by
Buon pomeriggio,

sono arrivato ad un punto nella risoluzione del primo hw in cui ho ridotto al massimo attraverso controlli e break, il tempo di elaborazione, il mio codice, contiene solamente due cicli for (so che sono molto dispendiosi). Riesco a passare solamente 12 test su totale. La mia domanda è in questi casi, bisogna riscrivere il codice (cosa che ho provato più volte) oppure cambiare idea, verificare che funzioni su carta, e solamente dopo scrivere un algoritmo?
Grazie in anticipo a tutti quelli che leggeranno e/o risponderanno.
407 views
closed

3 Answers

Best answer
raponi.federico (11280 points)
3 4 21
by (11.3k points)
selected by
Probabilmente il tuo codice è ottimizzato per come è stato pensato ma, potrebbe essere che il tuo algoritmo non sia molto efficace per come è stato progettato. Io proverei un approccio diverso al problema.
l
luca.ronca (600 points)
0 0 5
by (600 points)
Sono d'accordo con la risposta precendente, se pensi di aver tirato fuori il massimo dalla tua strategia ( "brute force" ), puoi cercare di capire se ti viene in mente un altro approccio.
giordano_sannino (13650 points)
7 16 81
by (13.7k points)
Difficile dare una risposta che sia valida senza vedere il codice(so che non si può).

Il punto è che o non hai ancora ottimizzato il codice(magari usa una variabile dove salvi una certa cosa invece di calcolarla più volte) oppure non è ottimizzata l'idea del codice! magari fai cicli for dove, essendo molto dispendiosi come hai detto tu, fai iterazioni inutili o di troppo. Nel caso prova a vedere quali sono i test che non passa, prova a simulare su carta (o sul pc dando in input i dati che il test prova) e prova a vedere cosa succede!