Last updated: Nov 02, 2022
Difficulty | Runtime | Faster_than | Memory | Lesser_than |
---|---|---|---|---|
medium | 83 ms | 76.02 % | 41.9 mb | 78.04 % |
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
};