lc240.搜索二维矩阵II

 

题目链接

这个也做过好几次了,利用好对角线的特性。这个算法的时间复杂度是O(N+M),空间复杂度是O(1)。

python:

class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        rownum = len(matrix)
        i, j = 0, len(matrix[0])-1
        while i < rownum and j >= 0:
            if matrix[i][j] > target:
                j -= 1
            elif matrix[i][j] < target:
                i += 1
            else:
                return True
        return False