题目:
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:
1、首先定义二维数组左下角元素的坐标(i为行,j为列),将该元素记为flag,由于每一行从左到右递增,所以如果flag > target ,则该行元素都比target大 ,因此执行i–(向上走);
2、又因为每一列都从上到下递增,所以如果flag < target,则该行元素都比target小,因此执行j++(向右走);
3、直到找到有相等的元素 return true, 否则false。
剑指 Offer 04. 二维数组中的查找
最新推荐文章于 2024-10-04 19:21:49 发布