Python Tablice

0

Czesc Robię sobie to zadanie https://pl.spoj.com/problems/PP0502B/

Mam napisany taki kod i dostaję błędną odpowiedź:

ile=int(input())

for x in range(ile):
    a = list(map(int, input().split(' ')))
    unik=[]
    for j in a:
        if j not in unik:
            unik.append(j)
    for j in reversed(unik):
        print(j,end=" ")
0

Chyba już widzę gdzie leży problem , do tablicy unik powinny się dodawać poprzez metodę reverse wartości unikalne , program pomija pierwszą (końcową) wartosć tablicy po wykonaniu funkcji reverse dla np przykładu

7 1 2 3 4 5 6 7 powinno być 7 6 5 4 3 2 1 a jest 6 5 4 3 2 1 7

0
for s in[*open(0)][1:]:print(*s.split()[:0:-1])
0
Mózg napisał(a):
> for s in[*open(0)][1:]:print(*s.split()[:0:-1])
> ```

możesz ten kod wytłumaczyć ? bo nie za bardzo go rozumiem .
0

Powiedżcie mi proszę , idę dobrą drogą czy zblądziłem :D ? mam kod który porównuje dwa elementy tablicy1 , jeśli element 0 i element -1 są równe usuwa element 0 i kopiuje tablice. Następnie nowa w nowej tablicy odczytywane są jej wartości i odwracane.


ile=int(input())

for x in range(ile):
    a = list(map(int, input().split(' ')))
    unik=[]
    for j in a:
        if j not in unik:
            unik.append(j)
            z=0 
            while z<1:
                if unik[-1]==unik[0]:
                    unik.pop(0)
                    unik2=unik.copy()
                    z=z+1
            for j in reversed(unik2):
                    print(j,end=" ")
0

Mam wrażenie, że robisz to mega niewydajnie. Wytarczy tymczasowa tablica i wstawianie do niej w pętli elementów w odwrotnej kolejności. Żeby dostać algorytm, a nie jakieś biblioteczne rozwiązanie, to szukaj w necie "reverse array C".

0

Problemem nie jest odwrócenie tej tablicy , ale nie wiem dlaczego nie odczytuje mi i nie wsadza do tablicy unik ostatniego odczytanego elementu ze zmiennej a .

0

Nigdzie nie jest napisane że tylko unikalne liczby, tak więc

ileserii = int(input())
while ileserii > 0:
    tab = input().split()
    tab = tab[1::] #usuwa ilość liczb, wczytuje całej linie więc zbędna
    tab = tab[::-1] #odwraca tablice
    wynik = ""
    for liczba in tab:
        wynik = wynik + liczba + " "
    print(wynik)
    ileserii -= 1

1 użytkowników online, w tym zalogowanych: 0, gości: 1