mateteusz 0 Napisano 20 Października 2014 Udostępnij Napisano 20 Października 2014 Witam, Mam napisać kod, który zwróci długość najdłuższego ciągu tych samych liczb występujących po sobie w tablicy. Np.: dla tablicy [1, 2, 2, 3, 3, 3, 4, 4, 4, 4] zwróci wartość 4, ponieważ 4, 4, 4, 4 to najdłuższy ciąg tych samych liczb występujących po sobie. Mój pseudokod wygląda tak: A[n] max <- 1 for i <- 0 to n do i <- i + 1 if A = A[i + 1] then max <- max + 1 pisz (max) Problem polega na tym, że dla tablicy z przykładu poda on wartość 7, zamiast 4. Będę wdzięczny za pomoc Cytuj Link to post Share on other sites
Sharm 10 Napisano 20 Października 2014 Udostępnij Napisano 20 Października 2014 Nie resetujesz wartości zmiennej max na 1 po zmianie liczby występującej w ciągu. Łopatologicznie: A[n] max <- 1 max_tmp<-1 for i <- 0 to n do i <- i + 1 if A = A[i + 1] then max_tmp <- max_tmp + 1 else max_tmp<-1 if (max_tmp>max) max<-max_tmp pisz (max) Można to zoptymalizować znacznie, ale nie wiem czy to istotne. (Mogłem się walnąć w pseudokodzie, ale jest szansa że nie) Cytuj Link to post Share on other sites
mateteusz 0 Napisano 20 Października 2014 Autor Udostępnij Napisano 20 Października 2014 Wielkie dzięki! Teraz wszystko jest ok. Optymalizacja nie jest istotna jak na razie. Cytuj Link to post Share on other sites
Recommended Posts
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.