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.

Chiarimento consegna HW3opt

saidai (1400 points)
1 2 14
in HW3 opzionale by (1.4k points)

Stavo dando un'occhiata all'ultimo homework opzionale uscito e ho notato delle incongruenze tra la consegna in italiano e quella in inglese.

Versione in italiano:

01010010010001000111101100001010011001111000010010011110010000000

la sottosequenza '00' ha frequenza 23 mentre la sottosequenza '1000' ha
frequenza 5.

Versione in inglese:

01010010010001000111101100001010011001111000010010011110010000000

The frequency of segment ‘00’ is 12. The frequency of segment ‘1000’ is 5.

Oltre questo piccolo errore di battitura non avevo ben chiaro l'output dell'esempio, mi spiego meglio, il primo elemento della lista di output è una tupla contenente sottostringhe con frequenza 4, guardando bene la sequenza possiamo notare che esistono sottostringhe con frequenza 1 (1101), 2 (0101) 3 (101).

Come mai l'esempio ignora completamente queste sottostringhe? Sto confondendo qualcosa io?

498 views
closed

2 Answers

Best answer
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
selected by
Appena posso controllo
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Ho aggiunto una nota alla pagina inglese.

Nota che l'esempio è sbagliato (come indicato anche nelle pagine) e che devono essere tornate tutte le sequenze perchè 20 è più grande del numero di sottosequenze diverse presenti nella stringa.
g
giac (2790 points)
10 14 27
by (2.8k points)
le sottostringhe con frequenza minore sono ignorate perché devono essere restiuite solo le n sottostringhe più frequenti.

ma proprio riguardo a questo argomento, volevo far notare che l'esempio parla di n=20, ma le sottostringhe in output sono solo 19. è un errore o non ho capito bene?

[ (4, ['0001', '0011', '1100' ]),
      (5, ['011', 1000', '110' ]),
      (6, ['0000', '111']),
      (7, ['0010','1001' ]),
      (8, ['0100']),
      (10,['010']),
      (11,['000', '001', '11']),
      (12,['100']),
      (15,['01','10']),
      (23,['00'])
    ]
saidai (1400 points)
1 2 14
by (1.4k points)
n indica il numero massimo di frequenze, non il numero di sottostringhe.

Inoltre dove sta scritto che devono essere restituite sole le più frequenti?
g
giac (2790 points)
10 14 27
by (2.8k points)
hai ragione, conta il numero di frequenze, non sottostringhe. nel caso in cui le frequenze distinte siano più di n, le n frequenze massime. il prof ha aggiornato il thread dell'hw