240. Search a 2D Matrix II
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 in ascending from left to right.
Integers in each column are sorted in ascending from top to bottom.
Example:
Consider the following matrix:
Given target = 5
, return true
.
Given target = 20
, return false
.
Thoughts:
O(mlogn) : iteratively search each row using binary search
O(m + n): start at the top right corner. If current number is smaller than target, increase the row number, if it is larger than the target number, decrease the column number, otherwise return False.
Code O(mlogn):
Code O(m + n):
Last updated
Was this helpful?