Odpowiedź
Cztery odpowiedzi wykorzystujące cztery różne struktury danych:
- dictionary (słownik), zadanie – nie wprost – prosi o użycie tej metody;
- set (zbiór);
- list (lista);
- array (tablica).
Wyjaśnienie
- Użyte metody – z wyjątkiem array – są bardzo ogólne i można je zastosować do każdych danych, gdyż jest tylko sprawdzane czy pozycja w kolejnym wierszu znajduje sie już pośród tych wczytanych wcześniej. Dodatkowo – z wyjątkiem array – są bardzo ogólne ponieważ nie mają żadnych założeń co do ilości różnych elementów. (Tak na marginesie..., w zadaniu nie było podane jaka jest najmniejsza liczba – w przypadku array założyłam 0 – ale mogłyby być ujemne, jedyne co wiadomo, to, że są nie większe niż 500...)
- Metoda z set jest jedyną w której nie można stosować zliczania.
- Użycie list gwarantuje, że będzie zachowany porządek pierwszego wystąpienia liczb.
- Użycie array powoduje, że liczby będą wypisane od najmniejszej lub największej (można to wybrać zmieniając kierunek range).
- Załączyłam przykładowe wyniki. Widać w nich, iż użycie dictionary również zachowało porządek, ale to jest przypadek.
- Użycie dictionary zwykle jest najlepszym rozwiązaniem. W sumie należałoby popatrzeć jaki materiał był ostatnio przerabiany i wybrać rozwiązanie temu odpowiadające.
Wartości 1 (w metodzie z dictionary) oraz −1 (w metodzie z array) wzięłam z powietrza. Z tym, że o ile przy dictionary można wybrać dosłownie cokolwiek, to przy array jednak następuje dodawanie, a więc −1 jest bezpieczną wartością...