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
}
}