Description
5. Search a 2D Matrix

Write an efficient algorithm that searches for a value in an m x n 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.
  • Given matrix, an m x n matrix, and target, return true if target is in the matrix, and false otherwise.

    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
    Constraints:
    • m == matrix.length
    • n == matrix[i].length
    • 1 <= m, n <= 100
    • -104 <= matrix[i][j], target <= 104
    Testcases

    Case 1
    Case 2
    Case 3

    Input:

    matrix = [ [1,3,5,7], [10,11,16,20], [23,30,34,60] ], target = 3

    Output:

    true