题目:
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。
思路:
对行进行二分
程序:
class Solution:
def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
row = len(matrix)
if row <= 0:
return False
if row == 1:
if target in matrix[0]:
return True
else:
return False
for index in range(row):
top = 0
bottom = len(matrix) - 1
while top <= bottom:
middle = (top + bottom) // 2
if target > max(matrix[middle]):
top = middle + 1
elif target < min(matrix[middle]):
bottom = middle - 1
elif target in matrix[middle]:
return True
else:
return False
return False
目前为止最好的成绩了,怀挺