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

Do you need help?

Aiuto per HW1 opzionale, "test_many_1s" per timeout

p
ph04 (1090 points)
14 20 27
in HW1 opzionale by (1.1k 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
876 views
closed

2 Answers

Best answer
Exyss (21510 points)
1 2 79
by (21.5k points)
selected by
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)
14 20 27
by (1.1k points)
risolto, fatto con un dizionario
F
ForzaElettromotrice (370 points)
0 0 2
by (370 points)
Metti un'eccezzione nel caso la stringa passata contenga numeri tutti uguali
p
ph04 (1090 points)
14 20 27
by (1.1k 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)
5 6 27
by (2.3k 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 (370 points)
0 0 2
by (370 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.