Last updated: Nov 02, 2022
Difficulty : medium
Runtime : 83 ms Faster than 76.02 %
Memory : 41.9 mb Lesser than 78.04 %

# 74. Search a 2D Matrix

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 from left to right. 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 Example 2:

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

Constraints:

• m == matrix.length
• n == matrix[i].length
• 1 <= m, n <= 100
• -104 <= matrix[i][j], target <= 104

## Solution:

/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var searchMatrix = function(matrix, target) {
for (var arr of matrix) {
if(target < arr[0]) continue;
var r = arr.length - 1;
while (r >= 0 && target >= arr[0]) {
if(arr[r] === target) {
return true
}
r--;
}
}
return false
};