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

Do you need help?

HW7 - tempi disastrosi

B
Babby740 (1240 points)
24 35 39
in HW7 opzionale by (1.2k points)

Non riesco a superare gli ultimi 4 test dell'homework 7opz. Il problema è che anche lasciandolo 10 min non riesce a completare l'operazione come se andasse in loop, ma gli altri 12 test li passa tutti in meno di 1 secondo.

l'idea del mio algoritmo è ciclare tramite 2 for la stringa e trovare i numeri uguali, poi da lì rimuovo i due doppioni e controllo se la stringa ha altri doppioni assegnando un valore ad un booleano. infine tramite il valore del booleano capisco se andare nel caso base o continuare con la ricorsione.

Ogni consiglio per migliorare l'algoritmo è ben accetto.

 indecision

494 views
closed

1 Answer

Best answer
E
Edward (25950 points)
4 4 172
by (26.0k points)
selected by
Anche la mia prima versione non superava quei test all'inizio.

Devi ragionare su come analizzare meno sottosequenze possibili, ad esempio evitando di analizzare sottosequenze uguali.

Inoltre ti conviene fare preprocessing della sequenza, non tutti i numeri potranno appartenere al risultato.
In particolare se ci fai caso se un numero appare nella sequenza un numero pari di volte, non apparirà mai nel risultato poichè verrà sempre rimosso.
B
Babby740 (1240 points)
24 35 39
by (1.2k points)
Grazie mille, è utile trasformare la stringa in una lista o conviene lavorare direttamente sulla stringa?
E
Edward (25950 points)
4 4 172
by (26.0k points)
Io l'ho trasformata in una lista, penso che lavorare con gli interi sia più veloce che lavorare con i caratteri.

Inoltre ti semplifica il tutto se hai interi > 9