Trova schemi
Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 92 di 93.
Sfida
MedioScrivi una funzione findPattern che accetta text e pattern e restituisce l’indice iniziale della prima occorrenza del pattern nel testo.
Cerca nel testo per trovare dove compare per la prima volta il pattern. Se viene trovato, restituisci il suo indice iniziale a partire da 0. Se il pattern non esiste nel testo, restituisci -1.
Logica:
- Esamina le possibili posizioni iniziali nel testo
- A ogni posizione, controlla se la sottostringa corrisponde al pattern
- Restituisci l’indice non appena viene trovata una corrispondenza
- Se non viene trovata alcuna corrispondenza dopo aver controllato tutte le posizioni, restituisci
-1
Parametri:
text(String): il testo in cui cercarepattern(String): il pattern da trovare
Valore restituito: l’indice a partire da 0 in cui compare per la prima volta il pattern, oppure -1 se non viene trovato (Int)
Vincoli di input: un pattern vuoto corrisponde all’indice 0. Un pattern più lungo del testo non ha corrispondenze.
Provalo tu
fun findPattern(text: String, pattern: String): Int {
// Scrivi il codice qui
}
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloAssegnazione compostaOperatori di confrontoRipasso: matematica semplice7Input/output di base
Funzione printlnTemplate di stringheInput con readLineConversione di tipoRiepilogo - Anni alla pensioneRiepilogo - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori di ritornoArgomenti denominatiValori predefinitiFunzioni a espressione singolaRiepilogo - Funzione SigmaRiepilogo - Funzione di validazione2Variabili
Val vs VarInferenza del tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Operatori logici Parte 3Ternario con espressione ifRipasso - Logica semplice8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con un tocco
Panoramica del giocoLa funzione FizzBuzz3Nullabilità
Cos'è la null safetyTipi nullableOperatore di chiamata sicuraOperatore ElvisBasi della sfida sulle funzioniAsserzione non-nullRiepilogo - Accesso sicuro6Prendere decisioni
Istruzione ifIf-elseIf come espressioneEspressione whenwhen con intervalliRiepilogo - Calcolatrice semplice9Cicli
Ciclo forCiclo whileCiclo do-whilebreakcontinueIntervalli nei cicliCiclo annidatoRipasso - fattorialeRipasso - input dinamicoEsercitati da solo: Playground Kotlin