【剑指Offer】二维数组中的查找

题目

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public boolean Find(int target, int[][] array) {
int rows = 0;
int columns = array[0].length - 1;

while (rows < array.length && columns >= 0){
if (array[rows][columns] < target)
rows++;
else if (array[rows][columns] > target)
columns--;
else
return true;
}

return false;
}