题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样一个二维数组和一个整数,判断数组中是否含有该整数。
分析:假设我们有一个二维数组,想要在数组中找7这个元素,那么整个过程如下图所示:
- 假设我们有 如下一个二维数组:
2.我们在这个二维数组中查找7这个元素,首先从右上角开始找,显然,右上角的9是大于7的,那么就说明9这一列肯定就都是大于7的,我们就可以把这一列去除掉:
3.再比较剩下的,找右上角的元素8,显然8也是大于7的,所以把8所在的列去除掉:
4.比较余下的数组,从右上角开始,剩余的是2,显然2比7小,那么2所在行余下的元素肯定都要小于7,所以我们把2所在行剔除掉: