Menu
Coddy logo textTech

Riepilogo - Prima riga valida

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

challenge icon

Sfida

Medio

Completa firstValidRow con i parametri grid: List<List<Int>>, minimumTotal: Int. Restituisci l'indice della prima riga che non contiene valori negativi e la cui somma è almeno minimumTotal. Le righe vuote hanno somma zero e non contengono valori negativi. Restituisci -1 se nessuna riga soddisfa i criteri.

A meno che non siano indicati limiti più restrittivi sopra, le raccolte contengono al massimo 100 elementi a ciascun 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 Int. Mantieni il codice di input/output fornito. Legge gli argomenti scalari uno per riga; un elenco inizia con il suo conteggio seguito dai suoi elementi, e una mappa inizia con il conteggio delle voci seguito da ogni chiave e valore. Gli elenchi annidati ripetono il formato conteggio ed elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Gli elenchi usano il formato standard tra parentesi quadre di Kotlin; non stampare etichette aggiuntive.

Provalo tu

fun firstValidRow(grid: List<List<Int>>, minimumTotal: Int): Int {
    // Scrivi qui la tua soluzione.
    return 0
}
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)
    }
    val minimumTotal = readln().toInt()
    println(firstValidRow(grid, minimumTotal))
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Kotlin