Aggiornare gli insiemi
Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 12 di 63.
Gli insiemi mutabili supportano add e remove. Aggiungere un valore già presente o rimuovere un valore assente lascia invariata l'appartenenza all'insieme. Il risultato Boolean indica se l'insieme è cambiato.
Dentro di main:
val tags = mutableSetOf("a", "b")
println(tags.add("a"))Il tag a era già presente, quindi add segnala che non ci sono state modifiche.
Set add e remove restituiscono se l'appartenenza è effettivamente cambiata.
Sfida
MedioCompleta addUnique con i parametri items: List<Int>, value: Int. Copia gli elementi in un insieme modificabile, aggiungi value e restituisci se è stato aggiunto per la prima volta.
A meno che non siano indicati limiti più restrittivi 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 intervallo, come descritto.
Restituisci un valore di tipo Boolean. Mantieni il codice di input/output fornito. Legge gli argomenti scalari uno per riga; una lista inizia con il numero di elementi seguito dagli elementi, e una mappa inizia con il numero di voci seguito da ciascuna chiave e valore. Le liste annidate ripetono il formato numero di elementi 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 addUnique(items: List<Int>, value: Int): Boolean {
// Scrivi qui la tua soluzione.
return false
}
fun main() {
val itemsCount = readln().toInt()
val items = mutableListOf<Int>()
for (i0 in 0 until itemsCount) {
val itemsItem = readln().toInt()
items.add(itemsItem)
}
val value = readln().toInt()
println(addUnique(items, value))
}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