How to search for a number in a sorted matrix in Kotlin

1 Answer

0 votes
fun searchMatrix(matrix: Array<IntArray>, target: Int): Boolean {
    val rows = matrix.size
    val cols = if (rows > 0) matrix[0].size else 0

    var row = 0
    var col = cols - 1

    while (row < rows && col >= 0) {
        val value = matrix[row][col]
        when {
            value == target -> {
                println("Found: i = $row j = $col")
                return true
            }
            value > target -> col--
            else -> row++
        }
    }

    println("Not found")
    return false
}

fun main() {
    val matrix = arrayOf(
        intArrayOf(2, 3, 5, 7, 8),
        intArrayOf(10, 13, 17, 18, 19),
        intArrayOf(25, 26, 30, 37, 38),
        intArrayOf(43, 46, 50, 51, 99)
    )

    searchMatrix(matrix, 37)
}



/*
run:

The matrix is a square matrix.

*/

 



answered Oct 8, 2025 by avibootz
...