Menu
Coddy logo textTech

Riepiloghi delle righe

Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 18 di 63.

Mantieni un risultato per riga reimpostando l'accumulatore della riga all'interno del ciclo esterno. Un riepilogo per una riga vuota è comunque utile: una somma pari a zero preserva la corrispondenza tra le righe di input e le posizioni di output.

All'interno di main:

val rows = listOf(listOf(2, 3), emptyList(), listOf(4))
val sums = mutableListOf<Int>()
for (row in rows) sums.add(row.sum())
println(sums)

C'è una somma per ogni riga, incluso zero per la riga vuota.

Un riepilogo delle righe mantiene una posizione di output per ogni riga di input.

challenge icon

Sfida

Medio

Completa rowTotals con il parametro grid: List<List<Int>>. Restituisci la somma di ogni riga nell’ordine di input. Una riga vuota ha somma zero.

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 List<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, e una mappa inizia con il conteggio delle sue 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 tra parentesi quadre di Kotlin; non stampare etichette aggiuntive.

Provalo tu

fun rowTotals(grid: List<List<Int>>): List<Int> {
    // Scrivi qui la tua soluzione.
    return emptyList()
}
fun main() {
    val gridCount = readln().toInt()
    val grid = mutableListOf<List<Int>>()
    for (i0 in 0 until gridCount) {
        val gridItemCount = readln().toInt()
        val gridItem = mutableListOf<Int>()
        for (i1 in 0 until gridItemCount) {
            val gridItemItem = readln().toInt()
            gridItem.add(gridItemItem)
        }
        grid.add(gridItem)
    }
    println(rowTotals(grid))
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Kotlin