在一个二维数组中,每一行都从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数!
我们以下面的这个数组为例,判断其中是否有7这个数: 我们观察这个数组会发现,数组任何位置上面的数的左边都小于这个数,下面的数都大于这个数。 这时候我们可以寻找一个起始点来查找这个数:
在该题中,我选择右上角开始: 因为 9>7 ,所以查找范围变为: 再次选择右上角,因为 8>7,查找范围变为:
选择右上角,因为 9>7,查找范围变为:
继续选择右上角,因为 4<7,则查找范围变为:
这时候会发现,右上角的数就是待查找的数,算法运行完毕。
新闻热点
疑难解答