二维数组中的查找

168 阅读1分钟

题目描述

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
/**
 * 二维数组中的查找
 */
public class SearchInArray {

    public static void main(String[] args) {

    }

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

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

        }
        return false;
    }
}