Najdłuższy spójny podciąg rosnący¶
Opis problemu¶
Implementacja¶
Opis implementacji¶
Funkcja longestGrowingSubstringLength
przyjmuje dwa argumenty: liczbę n
reprezentującą liczbę elementów w tablicy i tablicę tab
zawierającą te elementy. Funkcja zwraca długość najdłuższego rosnącego podciągu.
Schemat działania funkcji jest następujący:
- Zainicjalizuj długość
length
aktualnie analizowanego podciągu oraz najdłuższego dotychczas znalezionego podciągumx
na \(1\). - Przeszukaj tablicę od drugiego elementu do końca.
- Jeżeli bieżący element
tab[i]
jest większy od poprzedniegotab[i-1]
, to zwiększ długośćlength
aktualnie analizowanego podciągu o \(1\) i jeżeli ta długość jest większa od dotychczas najdłuższego podciągu, zaktualizujmx
. - Jeżeli bieżący element
tab[i]
nie jest większy od poprzedniegotab[i-1]
, to zresetuj długośćlength
aktualnie analizowanego podciągu do \(1\). - Po przejściu przez całą tablicę zwróć
mx
, czyli długość najdłuższego rosnącego podciągu.
Funkcja main
definiuje tablicę tab
z \(10\) elementami, przekazuje tę tablicę do funkcji longestGrowingSubstringLength
w celu znalezienia długości najdłuższego rosnącego podciągu, a następnie wyświetla ten wynik na ekranie.