面试题1:二维数组中的查找
思路1:采用二分法,对二维数组的每一行进行二分查找
代码1:
# -*- coding:utf-8 -*-
class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
if len(array[0]) == 0:
return False
x_len = len(array)
y_len = len(array[0])
# print(x_len)
for x in range(x_len):
# row = 0
if target <= array[x][y_len-1]:
low = 0
high = y_len - 1
while low <= high:
mid = int((low + high) / 2)
# print(mid)
if array[x][mid] == target:
return True
if array[x][mid] > target:
high = mid - 1
else:
low = mid + 1
return None
</