Innanzitutto devi identificare il caso base del problema, ossia la soluzione minima possibile dove non è necessario svolgere altre operazioni, che in questo caso sarebbe una sequenza in cui non ci sono doppioni, quindi tipo 1-2-3.
Una volta trovato il caso base, bisogna implementare un if che vada a controllare se l'attuale sequenza passata nella funzione siab un caso base o no. Se lo è, allora il risultato viene ritornato, altrimenti dovrai andare ad identificare qualsiasi coppia di doppioni. Una volta trovati tutti i doppioni dovrai richiamare ricorsivamente la funzione su tutte le sequenze ottenibili eliminando i doppioni stessi (attenzione che ad esempio una sequenza con 0-1-0-2-0 ha tre possibili sequenze ottenibili una volta eliminati i doppioni, ossia 1-2-0, 0-1-2, 1-0-2),
Ricorda che ogni caso base corrisponde ad una foglia dell'albero e che il programma prevede l'uso del Set, dunque ti consiglio di cercare bene la differenza tra set e lista (ovviamente sempre se non la conoscessi già) per capire come possa essere implementata la gestione delle foglie all'interno dei nodi padre.
Se ancora ti sfugge come funziona la ricorsione ti consiglio di riguardare le prime due lezioni sulla ricorsione fatte dal prof (inclusa la lezione dove viene usato il modulo Turtle, ottimo per capire graficamente come viene sfruttata la ricorsione).
Una volta trovato l'alogoritmo dovrai ottimizzarlo al massimo per passare gli ultimi 4 test, dunque ti do due suggerimenti: memoization/cache (trovi la spiegazione sempre nelle lezioni del prof) e la soluzione proposta già su q2a nella pagina originale dell'HW7