今際の国の呵呵君
Tuesday, November 7, 2017
[LeetCode]Search a 2D Matrix II
和I不同,这道题无法转变为1D的sorted array,也无法先搜索列确定target在哪一行。但是题目给定matrix的性质,从左到右从上到下sort意味着我们可以找到某些性质进行二分。假设我们总右顶点开始,假设当前右顶点数是curr:
if curr < target,那么所在的那一行就可以排除,因为那一行所有的数全部小于等于curr,target不可能在其中
相同的,if curr > target,那么curr所在的那一列就可以排除
if curr == target, return true
时间复杂度O(m + n),我们每一次排除一行或者一列。代码如下:
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment