Creare insiemi
Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 11 di 63.
Un insieme conserva elementi distinti. setOf crea un insieme di sola lettura; convertire una lista con toSet rimuove i valori duplicati. Un insieme consente di verificare l'appartenenza, non di accedere agli elementi tramite indice. Ordina un insieme prima di produrre un output ordinato.
All'interno di main:
val ids = setOf(4, 2, 4, 7)
println(ids.size)Il quattro ripetuto compare una sola volta, lasciando tre valori distinti.
Un insieme memorizza valori distinti; non fornisce l'accesso indicizzato tipico delle liste.
Sfida
MedioCompleta distinctCount con il parametro items: List<Int>. Restituisci il numero di interi distinti.
Salvo indicazioni più restrittive riportate sopra, le raccolte contengono al massimo 100 elementi a ogni livello e gli argomenti interi e i valori interi delle raccolte sono compresi tra -1000 e 1000. Il testo fornito per l'analisi può includere rappresentazioni non valide o fuori dall'intervallo, come descritto.
Restituisci un valore di tipo Int. Mantieni il codice di input/output fornito. Legge gli argomenti scalari uno per riga; una lista inizia con il suo conteggio, seguito dai suoi elementi, mentre una mappa inizia con il conteggio delle voci, seguito da ciascuna chiave e valore. Le liste annidate ripetono il formato conteggio-ed-elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Le liste usano il formato standard di Kotlin tra parentesi quadre; non stampare etichette aggiuntive.
Provalo tu
fun distinctCount(items: List<Int>): Int {
// Scrivi qui la tua soluzione.
return 0
}
fun main() {
val itemsCount = readln().toInt()
val items = mutableListOf<Int>()
for (i0 in 0 until itemsCount) {
val itemsItem = readln().toInt()
items.add(itemsItem)
}
println(distinctCount(items))
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Mappe Parte 1
Creare mappeConsultare le mappe in modo sicuroAggiornare le mappeControllare le chiaviRiepilogo - Banco di borsa4Collezioni annidate
Liste di listeAttraversare le righeRiepiloghi delle righeAppiattire liste annidateRipasso - File di posti a sedere7Pipeline di collezioni
Trasformare con MapFiltrare i valoriVerificare le regole della collezioneAccumulare con FoldRiepilogo - Totali approvati2Mappe Parte 2
Iterare sulle voci delle mappeChiavi e valoriMappe di frequenzaMappe annidateRiepilogo - Report delle frequenze5Progetto - Rubrica
Salva contattiTrova contatti3Insiemi e appartenenza
Creare insiemiAggiornare gli insiemiOperazioni sugli insiemiVerificare i sottoinsiemiRiepilogo - Ospiti dell'evento6Valori delle funzioni
Scrivere funzioni lambdaTipi di funzionePassare funzioniVariabili catturateRiepilogo - Punteggio configurabileEsercitati da solo: Playground Kotlin