Aktywne Wpisy
dabi +56
taka sytuacja w szkole syna mojej zony, p------e czasy
#heheszki
#heheszki
Zrobiłem kosztorys wymarzonego domu i wyszło mi że jedynie na taki projekt domu mnie stać ( ͡º ͜ʖ͡º) #budowa #budujzwykopem #dom #nieruchomosci
Napisz funkcję przesuwającą cyklicznie tablicę xs w prawo o k pozycji. Funkcja ma działać w miejscu (pamięć O(1)) i czasie O(n).
np.
xs=[1, 2, 3, 4, 5], k=2 -> [4, 5, 1, 2, 3]
Jeżeli ktoś jeszcze nie wie czym jest przesunięcie cykliczne wyjaśniam to formalnie w poprzednim wpisie. Zachęcam jeszcze spróbować rozwiązać poprzednie zadanie bo jest niebanalne.
#dailycodingproblem #programowanie
1. Najprostsze rozwiązanie tzn. brać ostatni element i zamienić z pierwszym (swap). A potem przesunąć wszystkie pozostałe.
-> Pewnie złożoność tego to O(n*n)?
2. To zamiast przesuwać, po prostu wyliczyć miejsce gdzie będzie po wszystkich
@mk321: O(k*n)
Tu chodzi o dodatkową pamięć, to co dostaje funkcja w formie argumentów nie
@NotABigFan: tak mi się skojarzyło, sorry za zaśmiecenie wpisu ;)
wykonujemy 3 reversy w miejscu:
jeden dla indeksów od 0 do n-k-1
drugi dla indeksów od n-k do n-1
trzeci dla całej
https://pastebin.com/qfc4qnDT
Jakby lista miała zawsze nieparzystą ilość elementów to by obeszło się bez trzymania dodatkowego indexu.