二位数组中的查找

来源:互联网 发布:陈浩筹码分布源码公式 编辑:程序博客网 时间:2024/04/29 09:54

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

思路:从右上角和左下角开始遍历,逐渐缩小行数和列数,最终得到对应的数。

public class Solution {    public boolean Find(int target, int [][] array) {        //获得长和宽         int width = array[0].length;        int height = array.length;        //从右上角开始遍历        int x = width -1;        int y = 0;        while(x >= 0 && y < height){            if(array[y][x] == target){                return true;            }else if(array[y][x] < target){                y++;            }else if(array[y][x] > target){                x--;            }        }        return false;    }}