Medium
Write an efficient algorithm that searches for a value target in an m x n integer matrix matrix. This matrix has the following properties:
Example 1:

Input: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
Output: true
Example 2:

Input: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
Output: false
Constraints:
m == matrix.lengthn == matrix[i].length1 <= m, n <= 100-104 <= matrix[i][j], target <= 104impl Solution {
    pub fn search_matrix(matrix: Vec<Vec<i32>>, target: i32) -> bool {
        let end_row = matrix.len();
        let end_col = matrix[0].len();
        let mut target_row = 0;
        let mut result = false;
        // Find the row where the target could be present
        for i in 0..end_row {
            if matrix[i][end_col - 1] >= target {
                target_row = i;
                break;
            }
        }
        // Search for the target in the identified row
        for i in 0..end_col {
            if matrix[target_row][i] == target {
                result = true;
                break;
            }
        }
        result
    }
}