fn sorted_count(matrix: &[Vec<i32>]) -> i32 {
let mut result = 0;
// Check for strictly increasing rows
for row in matrix.iter() {
if row.windows(2).all(|w| w[0] < w[1]) {
result += 1;
}
}
// Check for strictly decreasing rows
for row in matrix.iter() {
if row.windows(2).all(|w| w[0] > w[1]) {
result += 1;
}
}
result
}
fn main() {
let matrix = vec![
vec![1, 2, 3, 4, 5],
vec![2, 3, 1, 8, 7],
vec![8, 7, 6, 5, 4],
vec![5, 7, 8, 9, 10],
];
println!("Number of sorted rows: {}", sorted_count(&matrix));
}
/*
run:
Number of sorted rows: 3
*/