剑指offer第一题:二维数组的查找(python)

Posted shenhangyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer第一题:二维数组的查找(python)相关的知识,希望对你有一定的参考价值。

题目描述:

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

思路:

应当从数组的左下角或右上角开始判断,以左下角为例,若整数小于左下角数值,则最后一行不用考虑。若整数大于左下角数值,则第一列不用考虑。不断缩小范围。
 
 1 # -*- coding:utf-8 -*-
 2 class Solution:
 3     # array 二维列表
 4     def Find(self, target, array):
 5         # write code here
 6         rows = len(array) - 1
 7         cols= len(array[0]) - 1
 8         i = rows
 9         j = 0
10         while j<=cols and i>=0:
11             if target<array[i][j]:
12                 i -= 1
13             elif target>array[i][j]:
14                 j += 1
15             else:
16                 return True
17         return False

 

以上是关于剑指offer第一题:二维数组的查找(python)的主要内容,如果未能解决你的问题,请参考以下文章

二维数组的查找——剑指offer第一题

剑指 offer 第一题: 二维数组中的查找

剑指offer第一题:二维数组中的查找

《剑指Offer 1.二维数组中的查找》2019-03-25

剑指offer python版 二维数组的查找

[持久更新] 剑指offer题目Python做题记录