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

1 Answer

0 votes
def sorted_count(matrix):
    result = 0

    # Get the number of rows (first dimension)
    rows = len(matrix)

    # Get the number of columns (second dimension)
    cols = len(matrix[0]) if rows > 0 else 0

    # Check for strictly increasing rows
    for i in range(rows):
        for j in range(cols - 1):
            if matrix[i][j + 1] <= matrix[i][j]:
                break
        else:
            result += 1

    # Check for strictly decreasing rows
    for i in range(rows):
        for j in range(cols - 1, 0, -1):
            if matrix[i][j - 1] <= matrix[i][j]:
                break
        else:
            if cols > 1:
                result += 1

    return result


matrix = [
    [1, 2, 3, 4, 5],
    [2, 3, 1, 8, 7],
    [8, 7, 6, 5, 4],
    [5, 7, 8, 9, 10]
]

print("Number of sorted rows:", sorted_count(matrix))



"""
run:

Number of sorted rows: 3

"""

 



answered Oct 1 by avibootz
...