leetcode

Leetcode submissions
git clone git://git.laack.co/leetcode.git
Log | Files | Refs | README

search-a-2d-matrix.py (629B)


      1 class Solution:
      2     def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
      3 
      4         for row in matrix:
      5             if binary_search(row, 0, len(row) - 1, target):
      6                 return True
      7 
      8         return False
      9 
     10 
     11 def binary_search(row, lower, upper, target) -> bool:
     12     if lower > upper:
     13         return False
     14 
     15     center = ((upper - lower) // 2) + lower
     16 
     17     if row[center] == target:
     18         return True
     19 
     20     if row[center] > target:
     21         upper = center - 1
     22         return binary_search(row, lower, upper, target)
     23     else:
     24         lower = center + 1
     25         return binary_search(row, lower, upper, target)