How to count the number of sorted rows in either increasing or decreasing order in a matrix using Kotlin

1 Answer

0 votes
fun sortedCount(matrix: Array<IntArray>): Int {
    var result = 0
    val cols = matrix[0].size

    // Check for strictly increasing rows
    for (row in matrix) {
        if ((0 until cols - 1).all { row[it] < row[it + 1] }) {
            result++
        }
    }

    // Check for strictly decreasing rows
    for (row in matrix) {
        if ((0 until cols - 1).all { row[it] > row[it + 1] }) {
            result++
        }
    }

    return result
}

fun main() {
    val matrix = arrayOf(
        intArrayOf(1, 2, 3, 4, 5),
        intArrayOf(2, 3, 1, 8, 7),
        intArrayOf(8, 7, 6, 5, 4),
        intArrayOf(5, 7, 8, 9, 10)
    )

    println("Number of sorted rows: ${sortedCount(matrix)}")
}



/*
run:

Number of sorted rows: 3

*/

 



answered Oct 1 by avibootz
...