1.二维数组中的查找
题目描述:
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
Code
方法一:
从右上角元素开始遍历,比元素大则向下移,小则向左移,对后面所有元素均符合此逻辑
# -*- coding:utf-8 -*-
class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
long = len(array)
width = len(array[0])
if not array :
return False
l=0
w=width-1
while (w>=0 and l<long) :
if target == array[l][w]:
return True
elif target < array[l][w]:
w -= 1
else:
l += 1
return False
方法二:
暴力拆解法
# -*- coding:utf-8 -*-
class Solution:
# array 二维列表
def Find(self, target, array):
# write code here
long = len(array)
width = len(array[0])
if array == [[]]:
return False
for index in range(long):
if array[index][width-1] >= target >= array[index][0]:
for num in array[index]:
if target == num:
return True
return False