二维数组找数

来源:互联网 发布:好看的耽美文知乎 编辑:程序博客网 时间:2024/05/19 06:37

问题描述

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

问题分析

我先从左下角开始,如果当前数比 key 小,则 column++ ,当前数比 key 大,则 row–

    private static boolean findKeyNum1(int[][] array,int key) {        if(array == null || array.length == 0 || (array.length != 0 && array[0].length == 0)) return false;        int row = array.length - 1;        int column = 0;             while(row >= 0 && column < array[0].length ) {            if(array[row][column] == key) return true;            else if(array[row][column] > key) row--;            else if(array[row][column] < key) column++;        }               return false;    }
0 0
原创粉丝点击