Please solve the programming task below using a self-contained code snippet in a markdown code block.

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

Integers in each row are sorted in ascending from left to right.
Integers in each column are sorted in ascending from top to bottom.

 
Please complete the following python code precisely:
```python
class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        
```