题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
例如:如果在下面的数组中查找数字7,则返回true,如果查找数字5,由于数组中不含有该数字,就返回false.
当我们需要解决一个复杂问题时,一个很有效的方法就是从一个具体问题入手,通过分析简单具体的例子,试图找到普遍的规律。
思路:首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数字,剔除这个数字所在的列;如果该数字小于要查找的数字,剔除这个数字所在的行。
一步一步缩小查找范围,知道找到要查找的数字,或者查找范围为空。