美文网首页
剑指offer:01 二维数组中的查找

剑指offer:01 二维数组中的查找

作者: 毛毛毛毛毛豆 | 来源:发表于2019-08-07 10:52 被阅读0次

    题目描述

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

    基本思想

    从左下角查找,如果target大于右方元素,往右查找;如果target小于上方元素,往上查找。

    Python

    # -*- coding:utf-8 -*-

    class Solution:

        # array 二维列表

        def Find(self, target, array):

            n = len(array) - 1  # [0,n]行索引

            m = len(array[0]) - 1 # [0,m]列索引

            i,j = n, 0

            while i >= 0 and j <= m:

                if target < array[i][j]:

                    i -= 1

                elif target > array[i][j]:

                    j += 1

                else:

                    return True

            return False

    python中二维数组的创建

            # array = [ [0] * m for i in range(n) ] n行m列

            # len(array) = n 若考虑索引,则n-1

            # len(array[0]) = m 若考虑索引,则m-1

    相关文章

      网友评论

          本文标题:剑指offer:01 二维数组中的查找

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