Aktywne Wpisy

Brightsider +5
Ehhh chłop zaraz 30 lat na karku a nigdy fryzury na devolaja nie miał... Over dla chłopa

Nie ma to jak nocny szlug w psychiatryku
źródło: 1000032609
PobierzSkopiuj link
Skopiuj link

źródło: 1000032609
PobierzRegulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
https://www.toptal.com/developers/hastebin/satuwafape.go
ktoś mi może powiedzieć czemu ten if zawsze przechodzi, przez co nie mogę znaleść ostatniego skończonego taska?
lista tasków na której to testuje: https://www.toptal.com/developers/hastebin/elazabodis.json
wiem że godziny mogą być trochę nieaktualne w momencie pisania, ale nie działało tak samo jak były aktualne ( ͡° ͜ʖ ͡°)
do funkcji przekazuję posortowaną tablicę (sprawdzałem sortowanie, działa)
Wrzucam cały kod, może ktoś zrozumie: https://hastebin.com/difisufudo
Poza tym jeśli masz posortowana listę to ostatni rozpoczęty task będzie pierwszym albo ostatnim elementem tablicy zależnie od kierunku sortowania. Binary search służy do szybkiego znalezienie elementu w posortowanej tablicy poprzez porównywanie jej elementów. Aktualna data nie jest elementem Twojej tablicy.
Generalnie sortowanie i wyszukiwanie musi albo patrzeć metodą after, albo before, nigdy jedno w przód a drugie w tył
ostatnia linijka mojego
Binary search jest od czego innego. On szuka konkretnego elementu, którym u Ciebie jest "now". Żaden task w Twojej tablicy nie ma
a to ciekawe, bo wyżej jest też mój komentarz, że zmieniłem jedną rzecz przy wyszukiwaniu, i znajduje dokładnie to czego szukam. Ostatniego rozpoczętego
Jak inaczej proponujesz nazwać algorytm, który wyszukuje element spełniający konkretne założenia, partycjonując tablice na połowy?
func findrecenttask(arr []Task) ( int) {
start := 0
end :=
wiem że dostałem niepustą, posortowaną tablicę tasków.
Szukam taska poprzedzającego pierwszego taska, który jeszcze się nie zaczął.
Binary searchem znajduję punkt pomiędzy taskami
func sorttasks(arr []Task) ([] Task) {
sort.SliceStable(arr, func(i, j int) bool{
return arr[i].StartsAt.Before(arr[j].StartsAt) //
Upewnij się czy wszystkie przypadki graniczne Ci działają.