Sunday, September 21, 2014

Search 2D Matrix

Problem

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.

  • For example,
    Consider the following matrix:
    [1, 3, 5, 7],
    [10, 11, 16, 20],
    [23, 30, 34, 50]
    Given target = 3, return true.

    Idea

    用二分查找来做
  • mid = first+(last-first)/2
  • midMatrix = matrix[mid/column][mid%column]

  • Solution


    No comments:

    Post a Comment