Aktywne Wpisy

cierpka-rzodkiewka +227

mandamin +752
Obczajcie tego chojraka ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
W komentarzu post którego dotyczy komentarz
#konfitura
W komentarzu post którego dotyczy komentarz
#konfitura
źródło: temp_file1786929152389814277
Pobierz





def firstDuplicate(A):
....for x in A:
........A[abs(x) - 1] *= -1
........if A[abs(x) - 1] > 0:
............return abs(x)
....return -1
a abstrahując od większości logiki, albo ja czegoś nie rozumiem, albo pierwszy rozkaz w pętli próbuje indeksować listę A po wartości absolutnej jednego z elementów a nie po indeksie listy, oczywiście pomniejszonej o 1 ale to nic nie zmienia.
źródło: comment_s2xTeU4NiXIwEbo6vmhPxSGa2rSPUW34.jpg
Pobierzhttps://medium.com/@joshsaintjacque/algorithms-exercise-find-the-first-duplicate-in-an-array-e97e9ed282c1
W tym przypadku działa to dobrze - jeśli po pomnożeniu przez -1 liczba jest dodatnia, to znaczy że już wcześniej była pomnożona przez -1, czyli jest duplikatem(o najmniejszym indeksie w tabeli). Pewnie nie doczytałeś dokładnie warunków zadania.