Aiuto per HW1 opzionale, "test_many_1s" per timeout

p
ph04 (1090 points)
11 20 27
asked Oct 20, 2021 in HW1 opzionale by ph04 (1,090 points)
Non riesco a far passare il test "test_many_1s" per il timeout di 1 secondo, qual è l'approccio da seguire? Tutti gli altri test li passo perfettamente comunque

2 Answers

Best answer
Exyss (21390 points)
1 2 79
answered Oct 20, 2021 by Exyss (21,390 points)
selected Oct 21, 2021 by ph04
Oltre al suggerimento dato dagli altri riguardo al creare un caso specifico esiste un'altra soluzione, tuttavia è abbastanza ""avanzata"" o comunque richiede molto ragionamento.

Come suggerimento posso dire che non sono obbligatoriamente necessari 2 cicli for
p
ph04 (1090 points)
11 20 27
commented Oct 21, 2021 by ph04 (1,090 points)
risolto, fatto con un dizionario
F
ForzaElettromotrice (360 points)
0 0 2
answered Oct 20, 2021 by ForzaElettromotrice (360 points)
Metti un'eccezzione nel caso la stringa passata contenga numeri tutti uguali
p
ph04 (1090 points)
11 20 27
commented Oct 20, 2021 by ph04 (1,090 points)
Si così facendo ho risolto, ma è l'unico modo? Perché è come "barare", perché se un test avesse come input  per dire "1," * 19999 + "2" non funzionerebbe più il trucchetto
S
S3b4stian82 (2250 points)
3 6 27
commented Oct 20, 2021 by S3b4stian82 (2,250 points)
Si dovrebbe andare, controllato il test che passa 20k 1, dovrei essere riuscito a ricavare la formula per calcolare il risultato in base al numero della sequenza ed al subtotale
F
ForzaElettromotrice (360 points)
0 0 2
commented Oct 20, 2021 by ForzaElettromotrice (360 points)
Non penso in quel caso ci sia un modo di farlo, anche perchè è normale che con l'avanzare del numero degli elementi avanzi anche il tempo necessario per calcolarlo.