74. 搜索二维矩阵

复制代码
74. 搜索二维矩阵
#暴力搜索
class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        row = len(matrix)
        col = len(matrix[0])
        for i in range(row):
            for j in range(col):
                if matrix[i][j]==target:
                    return True
        return False
#由于特性升序且后一行大于前一行的最后即全部升序
#采用二分法
class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        l,r = 0,len(matrix)-1
        while l<=r:
            m = (l+r)//2
            if matrix[m][0]>target:
                r=m-1
            elif matrix[m][0]<target:
                l=m+1
            else:
                braek
        if matrix[m][0] <= target <= matrix[m][-1]:
            l, r = 0, len(matrix[m]) - 1           
            while l <= r:
                n = (l+r) // 2
                if matrix[m][n] > target:
                    r = n - 1
                elif matrix[m][n] < target:
                    l = n + 1
                else:
                    break
            if matrix[m][n] == target:
                return True
            else:
                return False   
        else:
            return False
复制代码

 

 
posted @   是冰美式诶  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示