剑指Offer 3 二维数组中的查找

题目描述

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

思路:

啦啦啦啦

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static boolean Find(int target, int [][] array) {
int Row = array.length-1; //行
int Columm = array[0].length-1; //列
for (int a = Columm; a >= 0; a--) {
if (target >= array[0][a]) { //筛选列
for (int b = 0; b<=Row;b++)
{
if (target==array[b][a]) //筛选行
return true;
}
}
}
return false;
}
}

收获

1.这道题还是很简单的,但是最初的思路是类似于分治的方法,沿对角线做;感觉会挺麻烦的;
2.能节省空间就尽量节省空间