Write an efficient algorithm that searches for a value target in an m x n matrix. The matrix has each row sorted left to right, and the first integer of each row is greater than the last integer of the previous row.
Example 1:
Input:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]] target = 3
Output:
true