剑指Offer [Python] | 1 二维数组中的查找

《剑指Offer [] | 目录索引》
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序 。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 。
一、快速解法

剑指Offer [Python] | 1 二维数组中的查找

文章插图
【剑指Offer [Python] | 1 二维数组中的查找】首先,8大于7,下一次只需要在8的左边区域查找;然后,5小于7 , 下一次只需要在5的下方区域查找;按照这种规则进行查找,如果查找到相同的,则返回True,否则返回False 。
class Solution:def Find(self, target, array):rows = len(array)cols = len(array[0])if rows > 0 and cols > 0 :row = 0col = cols - 1while ( row < rows and col >= 0) :if target == array[row][col]:return Trueelif target < array[row][col]:col -= 1elif target > array[row][col]:row += 1else:return Falseif __name__=='__main__':target=2array=[[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]]solution=Solution()ans=solution.Find(target,array)print(ans)来源:https://blog.csdn.net/qq_33487726/article/details/90715996
二、暴力解法
class Solution:# array 二维列表def Find(self, target, array):# write code herefor line in array:if target in line:return Truereturn False--------------------- 作者:谓之小一 来源:CSDN 原文:https://blog.csdn.net/xiaoyi_eric/article/details/81452014 版权声明:本文为博主原创文章,转载请附上博文链接!
三、参考资料