题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
基本思想
从左下角查找,如果target大于右方元素,往右查找;如果target小于上方元素,往上查找。
Python
# -*- coding:utf-8 -*-
class Solution:
# array 二维列表
def Find(self, target, array):
n = len(array) - 1 # [0,n]行索引
m = len(array[0]) - 1 # [0,m]列索引
i,j = n, 0
while i >= 0 and j <= m:
if target < array[i][j]:
i -= 1
elif target > array[i][j]:
j += 1
else:
return True
return False
python中二维数组的创建
# array = [ [0] * m for i in range(n) ] n行m列
# len(array) = n 若考虑索引,则n-1
# len(array[0]) = m 若考虑索引,则m-1
网友评论