• 《剑指offer》4:二维数组查找


    一.题目描述

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

    二.题目解析

    首先这个题目我们需要弄清楚题目的题意就很简单了,题目的意思不是让我们自己编写一个这样的二维数组,而是已经给定了我们这样的一个二维数组,和一个数值,让我们去查找这样的一个数值会不会出现在这个二维数组当中,那么二维数组是长什么样的呢?在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里面最简单的题目了。

     

  • 相关阅读:
    我的第二个裸板程序之链接地址与存储地址
    ARM你必须知道的事儿——为啥“PC = PC + 8”?
    typedef你真的理解么?
    centos使用--vsftpd配置
    centos使用--zsh
    laravel5.2总结--序列化
    laravel5.2总结--csrf保护
    laravel5.2总结--任务调度
    laravel5.2总结--本地化以及常量的使用
    laravel5.2总结--文件上传
  • 原文地址:https://www.cnblogs.com/geeksongs/p/13456944.html
Copyright © 2020-2023  润新知