已经排好序的矩阵,搜索一个元素,二分法
class Solution(object):
def searchMatrix(self, matrix, target):
"""
:type matrix: List[List[int]]
:type target: int
:rtype: bool
"""
m = len(matrix)
if not m:
return False
n = len(matrix[0])
if not n:
return False
left = 0
right = m * n - 1
if matrix[left/n][left%n] > target:
return False
if matrix[right/n][right%n] < target:
return False
while left < right:
mid = (left + right) / 2
if target < matrix[mid/n][mid%n]:
right = mid - 1
elif target > matrix[mid/n][mid%n]:
left = mid + 1
else :
return True
if matrix[left/n][left%n] == target:
return True
else:
return False