Wyszukiwarka wzorów
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 92 z 93.
Wyzwanie
ŚredniNapisz funkcję findPattern, która przyjmuje text i pattern, a następnie zwraca indeks początku pierwszego wystąpienia wzorca w tekście.
Przeszukaj tekst, aby znaleźć pierwsze miejsce, w którym pojawia się wzorzec. Jeśli go znajdziesz, zwróć jego indeks początkowy liczony od 0. Jeśli wzorzec nie występuje w tekście, zwróć -1.
Logika:
- Przechodź przez możliwe pozycje początkowe w tekście
- Na każdej pozycji sprawdź, czy podciąg pasuje do wzorca
- Zwróć indeks natychmiast po znalezieniu dopasowania
- Jeśli po sprawdzeniu wszystkich pozycji nie znajdziesz dopasowania, zwróć
-1
Parametry:
text(String): Tekst, w którym należy szukaćpattern(String): Wzorzec do znalezienia
Wartość zwracana: Indeks liczony od 0, pod którym wzorzec pojawia się po raz pierwszy, lub -1, jeśli nie zostanie znaleziony (Int)
Ograniczenia wejściowe: Pusty wzorzec pasuje pod indeksem 0. Wzorzec dłuższy niż tekst nie ma dopasowania.
Spróbuj swoich sił
fun findPattern(text: String, pattern: String): Int {
// Napisz kod tutaj
}
Wszystkie lekcje w sekcji Podstawy
4Operatory – część 1
Operatory arytmetyczneOperator moduloPrzypisanie z operatoremOperatory porównaniaPowtórka – proste działania matematyczne7Podstawowe wejście/wyjście
Funkcja printlnSzablony ciągów znakówWczytywanie danych przez ReadLineKonwersja typówPowtórka — lata do emeryturyPowtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneArgumenty nazwaneWartości domyślneFunkcje z pojedynczym wyrażeniemPowtórka – funkcja SigmaPowtórka – funkcja walidująca2Zmienne
Val a VarWnioskowanie o typieLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPowtórzenie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Operatory logiczne, część 3Operator trójargumentowy z wyrażeniem ifPowtórka — prosta logika8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Obsługa wartości null
Czym jest bezpieczeństwo nullTypy dopuszczające nullOperator bezpiecznego wywołaniaOperator ElvisPodstawy wyzwania z funkcjamiAsercja wartości niebędącej nullPodsumowanie — bezpieczny dostęp6Podejmowanie decyzji
Instrukcja ifIf - elseIf jako wyrażenieWyrażenie whenWhen z zakresamiPowtórka — prosty kalkulator9Pętle
Pętla forPętla whilePętla do-whileBreakContinueZakresy w pętlachPętla zagnieżdżonaPowtórka – silniaPowtórka – dynamiczne wprowadzanie danychPoćwicz samodzielnie: Edytor online Kotlin