美文网首页
二维数组的查找

二维数组的查找

作者: hustyanye | 来源:发表于2019-07-27 17:50 被阅读0次

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

注意这里可能会引入歧途。比如我开始的思路是,先二分查找target在哪一行(原则上本行开始数据小于target,下行开始数据大于target,就是要找的),然后找到行就简单的二分查找在哪一列就行。结果这是个完全错误的思路。。。
举例:数组为
1 2 3
2 5 6
3 8 9
tareget = 5
按照上面的思路会到第三行找。。。。

如果本题真的要二分找,只能对每一行,或者每一列去进行
复杂度为nlog(m)

一种最佳的思路是,根据数组的特点,从数组的右上角(或者左下角)始找。如果tareget大于右上角的数据,说明这一行都不行,因为右上角是这一行最大的数据了。反之如果小于右上角数据,说明这一列都不行,因为右上角是这一列最小的数据了。这样复杂度为O(m+n)

class Solution:
    # array 二维列表
    def Find(self, target, array):
        # write code here
        
        # first find row
        if not array or not target:
            return False
        row = len(array)
        if row < 1:
            return False
        col = len(array[0])
        if col<1 :
            return False
        
        if target<array[0][0] or target>array[-1][-1]:
            return False

        i = 0
        j = col-1
        while i<row and j>=0:
            if array[i][j] == target:
                return True
            elif array[i][j] > target:
                j -= 1
            else:
                i += 1
        return False

相关文章

  • 算法题

    行列都是有序的二维数组,查找k是否存在【查找法】 二维数组中的查找(行列分别有序数组的二分查找)【递归法】 快速排...

  • 剑指Offer二维数组查找

    剑指Offer二维数组查找 二维数组查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到...

  • 剑指offer4.二维数组中的查找

    题目 题目分析 算法-二维数组中的查找 比如一个二维数组是这样: 要查找数组7在不在数组内,根据前人总结出来的规律...

  • OC各种算法,排序,查找实现

    二维数组查找数字的OC实现 OC 二分查找的实现 快速排序

  • 2019-08-07 B1004 成绩排名

    这道题用之前的二维数组的思路是不对的,因为这道题并不是对二维数组进行查找操作而是需要对二维数组进行遍历操作,因此我...

  • 《剑指offer》(一)-二维数组中的查找(java)

    数组--二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序...

  • 二维数组中的查找(Javascript编程) function Find(target, array){ // w...

  • 刷题-数组专项

    数组 二维数组中的查找题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每...

  • 牛客网高频算法题系列-BM18-二维数组中的查找

    牛客网高频算法题系列-BM18-二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),...

  • LeetCode | 面试题04. 二维数组中的查找【剑指Off

    LeetCode 面试题04. 二维数组中的查找【剑指Offer】【Easy】【Python】【数组】 问题 力扣...

网友评论

      本文标题:二维数组的查找

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