74. Search a 2D Matrix
Last updated
Last updated
Input: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
Output: trueInput: matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
Output: falseclass Solution:
def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
length = len(matrix[0])
index = -1
for rowIndex in range(len(matrix)):
if matrix[rowIndex][0] <= target <= matrix[rowIndex][-1]:
index = rowIndex
if index == -1:
return False
return self.linear_search(matrix[index], target)
def linear_search(self, nums, target):
if target in nums:
return True
return Falseclass Solution:
def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
row = len(matrix)
col = len(matrix[0])
minRow = 0
maxRow = 0
for r in range(row):
if target <= matrix[r][col-1]:
maxRow = r
elif matrix[r][0] >= target:
minRow = r
for r in range(minRow, maxRow+1):
for c in range(col):
if matrix[r][c] == target:
return True
return False