一.题目描述

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

二.题目解析

首先这个题目我们需要弄清楚题目的题意就很简单了,题目的意思不是让我们自己编写一个这样的二维数组,而是已经给定了我们这样的一个二维数组,和一个数值,让我们去查找这样的一个数值会不会出现在这个二维数组当中,那么二维数组是长什么样的呢?在Python当中使用了两层列表进行了嵌套,如下所示:
[[1,2,3],

[4,5,6],

[7,8,9]]

而题目当中所描述的数组我们可以给出一个简单的例子,如下:
[[1,2,3],

[2,3,4],

[3,4,5]]

这样就可以保证在数组当中既能够从左向右递增,也可以从上到下递增了。

这里给出解法。

解法:

使用循环遍历二维数组当中的每一个值,查看是否有目标数值,有则返回True,没有则什么都不做。代码如下:

# -*- coding:utf-8 -*-
class Solution:
    # array 二维列表
    def Find(self, target, array):
        # write code here
        i=0
        while i<len(array):
            j=0
            while j <len(array[i]):
                if target==array[i][j]:
                    return True
                j+=1
            i+=1  

最后通过的时间和内存占用如下:

 

非常简单,算是剑指offer里面最简单的题目了。

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/geeksongs/p/13456944.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!