LeetCode刷题(40)--Search a 2D Matrix

来源:互联网 发布:淘宝上买手机 编辑:程序博客网 时间:2024/06/05 21:54

已经排好序的矩阵,搜索一个元素,二分法

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
原创粉丝点击