美文网首页
[剑指Offer]二维数组中的查找

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

作者: Sui_Xin | 来源:发表于2019-02-28 20:54 被阅读0次

    本文首发于我的个人博客Suixin’s Blog
    原文: https://suixinblog.cn/2019/02/target-offer-array-find.html  作者: Suixin

    题目描述

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

    解题思路

    题目中说了是二维数组和整数,所以不需要考虑非法输入(包含字符串等);但需要判断二维数组是否为空。
    从每行最后一个数判断起,相等直接返回True,小于就循环到下一行,大于就在该行查找,全部找完没找到就返回False

    代码

    Python(2.7.3)

    # -*- coding:utf-8 -*-
    class Solution:
        # array 二维列表
        def Find(self, target, array):
            # write code here
            for row in array:
                if not row:
                    break
                if row[-1] == target:
                    return True
                elif row[-1] < target:
                    continue
                else:
                    for col in row[:-1]:
                        if col == target:
                            return True
            return False
    

    运行时间:343ms
    占用内存:5836k

    相关文章

      网友评论

          本文标题:[剑指Offer]二维数组中的查找

          本文链接:https://www.haomeiwen.com/subject/xrfluqtx.html