zoukankan      html  css  js  c++  java
  • 《剑指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里面最简单的题目了。

     

  • 相关阅读:
    Mongodb 插入数据的方式
    vue插槽(slot)的模板与JSX写法
    vue-resource+iview上传文件取消上传
    封装全局icon组件 svg (仿造element-ui源码)
    vue 修改框架less变量
    vue webpack多页面构建
    vue2 自定义全局组件(Loading加载效果)
    制作npm插件vue-toast-m实例练习
    iview+axios实现文件取消上传
    CSS Variables
  • 原文地址:https://www.cnblogs.com/geeksongs/p/13456944.html
Copyright © 2011-2022 走看看