Search a 2D Matrix

Write an efficient algorithm that searches for a value in an `m x n` matrix. The matrix has these properties: each row is sorted in ascending order, and the first integer of each row is greater than the last integer of the previous row. Return true if the value exists. (Classic binary search on rows and columns.)

Input Format

2D list and integer target.

Output Format

Boolean.

Constraints

  • m,n up to 100; matrix sorted as described.

Examples

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

Example 3:

Input:

matrix = [[1]]
target = 1

Output:

true
Loading...
Search a 2D Matrix - Matrix DSA Problem