二维数组中的查找

题目描述

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

从二维数组的左下角开始寻找,如果大于target则往右移动,小于target则往上移动

public class Solution {
    public boolean Find(int target, int [][] array) {
        if (array == null || array.length < 0) {
            return false;
        }

        int x = array.length - 1, y = 0;
        while (x >= 0 && y < array[0].length) {
            if (target > array[x][y]) {
                y++;
            }else if (target < array[x][y]) {
                x--;
            }else {
                return true;
            }
        }

        return false;
    }
}