二维数组查找
Posted tangsmarth
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组查找相关的知识,希望对你有一定的参考价值。
#Problem Description:
# 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,
# 每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个
# 整数,判断数组中是否含有该整数。
class Solution: # array 二维列表 def Find(self, target, array): row = len(array)-1 #行数 col = len(array[0])-1 #列数 i = 0 j = col while j>=0 and i<=row: if array[i][j]>target: j-= 1 elif array[i][j]<target: i+= 1 else: return True return False matrix = [[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]] s = Solution() print(s.Find(5,matrix))
#Summary:
#思维关键点是矩阵左下角或者右上角,如果是左下角,比其小的,行-1继续查找,如果比起大,列+1继续查找,右上角则相反
#技术总结 ①二维数组的两种定义方法:list 或者numpy.array()
# ②list可以装不同类型元素int float str,array只能装同种类型
# ③获取元素方法list[0][1],array[0,1]
# ④list转换array调用numpy模块中的array方法 np.array(list)
以上是关于二维数组查找的主要内容,如果未能解决你的问题,请参考以下文章