Soluzione semi-funzionante. Meglio cambiare idea?

SimoneBd96 (2430 points)
5 11 33
asked Oct 16, 2020 in HW1 opzionale by SimoneBd96 (2,430 points)
recategorized Oct 20, 2020 by andrea.sterbini
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.
246 views

3 Answers

Best answer
raponi.federico (11240 points)
2 4 21
answered Oct 16, 2020 by raponi.federico (11,240 points)
selected Oct 16, 2020 by SimoneBd96
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
answered Oct 16, 2020 by luca.ronca (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
answered Oct 16, 2020 by giordano_sannino (13,650 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!