美文网首页
二维数组中查找值

二维数组中查找值

作者: vckah | 来源:发表于2018-05-06 15:35 被阅读0次

题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:

 [1  2  8   9]          其中要寻找 7 
 [2  4  9  12]          从右上角开始,判断其是否大于 7,大于则说明 7 只可能出现在前三列,
 [4  7 10  13]          如果小于则只可能出现在后三行
 [6  8 11  15]          每次都只判断右上角的值

具体代码:

def find(target, array):
    found = False
    rows = len(array)
    columns = len(array[0])
    if rows>0 and columns>0:
        row = 0
        column = columns - 1
        while row < rows and column >= 0:
            if array[row][column] == target:
                found = True
                break
            elif array[row][column] > target:
                column -= 1
            else:
                row += 1
    return found

def main():
    test_martix = [[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
    target = 7
    found = find(target, test_martix)
    if found:
        print('Found the target!')

if __name__ == '__main__':
    main()

相关文章

  • 二维数组中查找值

    题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,...

  • 算法题

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

  • 剑指Offer二维数组查找

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

  • $.inArray()查找元素在数组中的索引值

    $.inArray()查找元素在数组中的索引值 $.inArray() : 在数组中查找指定值并返回它的索引(如果...

  • 二维数组中查找某个值

    题目大意: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函...

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

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

  • PHP 工具之数组

    二维数组值 二维数组翻转 二维数组转置

  • 数组的应用--最值问题

    查找数组中的最大值、最小值: 打印结果:

  • 牛客网编程整理

    二维数组,从左向右递增,从上向下递增,查找特定数值 本题思路:基于数组从左向右递增,同行元素中的最大值在最右端从上...

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

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

网友评论

      本文标题:二维数组中查找值

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