面试题4:二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
一、自己作答情况
是否有思路:有,解法为从二维数组的左下角开始遍历,或向上跳一格,或向右跳一格。
是否有改进思路:否。
二、官方解答
1. 岔路口
从二维数组的右上角开始遍历。如果要找的元组key大于此时元素,则向下跳一行;否则,向左跳一列。
关于“岔路口”:每一次比较之后,针对于不同的情况,做出不同的操作,而且需要 保证查找范围缩小。否则,问题将变得复杂。