package main
import (
"fmt"
)
func sortedCount(matrix [][]int) int {
result := 0
rows := len(matrix)
cols := len(matrix[0])
// Check for strictly increasing rows
for i := 0; i < rows; i++ {
j := 0
for ; j < cols-1; j++ {
if matrix[i][j+1] <= matrix[i][j] {
break
}
}
if j == cols-1 {
result++
}
}
// Check for strictly decreasing rows
for i := 0; i < rows; i++ {
j := cols - 1
for ; j > 0; j-- {
if matrix[i][j-1] <= matrix[i][j] {
break
}
}
if cols > 1 && j == 0 {
result++
}
}
return result
}
func main() {
matrix := [][]int{
{1, 2, 3, 4, 5},
{2, 3, 1, 8, 7},
{8, 7, 6, 5, 4},
{5, 7, 8, 9, 10},
}
fmt.Println("Number of sorted rows:", sortedCount(matrix))
}
/*
run:
Number of sorted rows: 3
*/