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

二维数组中查找——jzoffer

作者: 二十岁的弹簧 | 来源:发表于2018-12-02 09:29 被阅读0次

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

    从右上角的数字开始判断,遍历

    class Solution:
        def find(self, maxtrix, rows, columns, num):
            found = False
            
            if rows > 0 and columns > 0 and maxtrix is not None:
                r = 0
                c = columns - 1
                while r < rows and c >= 0:
                    if maxtrix[r][c] == num:
                        found = True
                    elif maxtrix[r][c] < num:
                        r += 1
                    else:
                        c -= 1
            return found
    

    二维数组在内存中占据连续的空间。在内存中从上到下存储各行元素,在同一行中按照从左到右的顺序存储。因此我们可以根据行号和列号计算出相对于数组首地址的偏移量,从而找到对应的元素。

    相关文章

      网友评论

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

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