2019-04-02 LeetCode 74.搜索二维矩阵

将矩阵看为有序数组,只要把数组下标与矩阵下表对应上即可。二分查找,复杂度OlognN

class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        if(not matrix):return False  # 注意空矩阵的边界特殊情况
        rows,clos=len(matrix),len(matrix[0])  # python多变量赋值很有意思
        high,low=rows*clos-1,0
        mid=(high+low)//2
        
        while(low<=high):  # 注意low==high的情况 要用=还要继续比一次
            tmp=matrix[mid//clos][mid%clos]
            if(target==tmp): return True
            elif(target<tmp): high=mid-1
            else: low=mid+1
            mid=(low+high)//2
        return False
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。