双指针法
根据每行从左到右,每列从上到下的规律,从右上角开始:
- 当前元素=目标元素,查找结束
- 当前元素<目标元素,目标元素位于下侧,行+1
- 当前元素>目标元素,目标元素位于左侧,列-1
class Solution:
def Find(self , target: int, array: List[List[int]]) -> bool:
# 右上角坐标
col = len(array[0]) - 1
row = 0
while col >= 0 and row < len(array):
# 判断结果
if array[row][col] == target:
return True
# 目标值大于当前元素,下移
elif array[row][col] < target:
row += 1
# 小于目标值,左移
else:
col -= 1
return False