[剑指Offer]二维数组中的查找

来源:互联网 发布:开户数据 编辑:程序博客网 时间:2024/06/05 18:50

时间限制:1秒空间限制:32768K

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

输入描述:
array: 待查找的二维数组
target:查找的数字

输出描述:
查找到返回true,查找不到返回false

解题思路:
1. 简单的查找问题,数据量不大,简单的线性查找即可;
2. 先线性遍历array的行,查找满足array[i][0] <= target <= array[i][n-1]的第i行(n为列数);
3. 若找到这样的i,则在array[i]j中线性查找target,若找到,直接return true;
4. 注意,满足array[i][0] <= target <= array[i][n-1]的i可能会有多个,要遍历完所有这样的i;
5. 若array[i][0] > target,则直接return false;
6. 若找完所有的行均未找到target,return false;
7. 需注意数组为空等边界条件的判断。

代码:
逻辑简单,从略。

原题链接:
http://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpId=13&tqId=11154&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

0 0
原创粉丝点击