Menu
Coddy logo textTech

Liste Listeleri

Coddy'nin Kotlin Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 16 / 63.

İç içe geçmiş bir liste, satırları dış listenin öğeleri olarak depolar. Dış listenin boyutu satırları sayar; her iç boyut, o satırın öğelerini sayar. Bir değeri seçmek için iki dizin kullanın ve her ikisini de kendi sınırları içinde tutun.

main içinde:

val grid = listOf(listOf(2, 4), listOf(6, 8))
println(grid[1][0])

Birinci indeks ikinci satırı seçer, ardından sıfırıncı indeks onun ilk değerini seçer.

İlk dizin bir satır seçer ve ikincisi o satırın bir öğesini seçer.

challenge icon

Görev

Orta

grid: List<List<Int>>, row: Int, column: Int parametreleriyle cellAt işlevini tamamlayın. Seçilen hücreyi döndürün. Sağlanan satır ve sütun, ilgili satır için her zaman geçerlidir.

Yukarıda daha sıkı sınırlar belirtilmediği sürece koleksiyonlar her düzeyde en fazla 100 öğe içerir ve tamsayı bağımsız değişkenleri ile tamsayı koleksiyon değerleri -1000 ile 1000 arasındadır. Ayrıştırma için sağlanan metin, açıklanan şekilde geçersiz veya aralık dışı gösterimler içerebilir.

Int türünde bir değer döndürün. Sağlanan giriş/çıkış kodunu koruyun. Kod, skaler bağımsız değişkenleri satır başına bir tane olacak şekilde okur; bir liste, ardından öğeleri gelen sayısıyla başlar ve bir eşlem, ardından her anahtar ve değerin geldiği giriş sayısıyla başlar. İç içe listeler, her satır için sayı ve öğeler biçimini tekrarlar. Sağlanan main, dönüş değerini ve ardından bir yeni satır yazdırır. Listeler Kotlin'in standart köşeli parantezli biçimini kullanır; ek etiket yazdırmayın.

Kendin dene

fun cellAt(grid: List<List<Int>>, row: Int, column: Int): Int {
    // Çözümünüzü buraya yazın.
    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 row = readln().toInt()
    val column = readln().toInt()
    println(cellAt(grid, row, column))
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground