美文网首页
[剑指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