首页 > 学院 > 开发设计 > 正文

剑指Offer面试题3:二维数组中的查找

2019-11-06 06:10:44
字体:
来源:转载
供稿:网友

题目:在一个二维数组中,每一行都按照从左到右递增的顺序,每一列都按照从上到下的递增顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断该整数是否在数组中。 举例: 0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 首先选取右上角的数字, 若该数字等于要查找的数字,查找过程结束; 若该数字大于要查找的数字,则往左继续查找; 若该数字小于要查找的数字,则往下继续查找。

java代码实现如下:

public class Finder { //m行n列,要查找的数字为x public boolean findX(int[][] mat, int m, int n, int x) { if (mat == null && mat.length == 0) return false; int row = 0; int col = n - 1; while(row < m && col >= 0){ if(mat[row][col] == x){ return true; } else if(mat[row][col] < x){ row++; } else{ col--; } } return false; }}
上一篇:38.表单

下一篇:bzoj3204[SDOI2013]城市规划

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表