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

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

HW2 recupero, consigli?

Andrea Sanchietti (3100 points)
5 7 40
in Recupero HW2 by (3.1k points)
Salve ragazzi, è da quando ho scritto l'HW 2 di recupero che penso a come migliorare il mi codice. Infatti ci mette meno di un secondo per tutti i test eccetto gli ultimi due. Provando a modificare i timeout mi sono accorto che entrambi ci mettono più di 40 secondi ad essere completati.  Ho anche provato a vedere come sono fatti questi due test ma non trovo nemmeno l'inizio nel json per quanto sono grandi. Mi chiedevo se qualcuno ha dei consigli da darmi per migliorare l'efficienza (magari c'è qualche regola matematica di cui ignoro l'esistenza).

ps. ho scritto il codice sia con liste che con dizionari in cui ho immagazzinato le sequenze di numeri ma non ha funzionato

3 Answers

V
VincenzoOliva (430 points)
0 0 4
by (430 points)
edited by
Per avere timeout così ampi, immagino che quando prendi i massimi delle liste di interi non lo fai sui set. Prova a farlo sui set, perché così eviti di considerare i doppioni.

Bonus tip: sfrutta la list comprehension quando dalle stringhe di interi prendi gli interi effettivi.
Andrea Sanchietti (3100 points)
5 7 40
by (3.1k points)
edited by
ok grazie, ci proverò

edit: ho provato e comunque ci mette molto. Credo a questo punto di dover fare i set anche delle liste di interi
LorenzoChicca (1140 points)
5 6 18
by (1.1k points)
Ma a te quanti test passa?

Fallisci solo per time out gli ultimi due?
Andrea Sanchietti (3100 points)
5 7 40
by (3.1k points)
i test li passa tutti eccetto gli ultimi due
l
lucapla3 (650 points)
0 0 9
by (650 points)
Guarda come sono strutturate le varie liste nell'esempio del test1, cerca di capire quando effettivamente devi fare un controllo e su cosa, infatti non c'è il bisogno di iterare su tutti valori (e non intendo solo i valori ripetuti)
Andrea Sanchietti (3100 points)
5 7 40
by (3.1k points)
il fatto  è che i due test che vanno out of time non sono debuggabili o analizzabili perchè sono troppo grandi. provo a fare i set delle sequenze di numeri e non solo dellla lista che contiene le sequenze