美文网首页
面试题4: 二维数组中的查找

面试题4: 二维数组中的查找

作者: 夹小欣 | 来源:发表于2018-03-19 21:20 被阅读14次

    自己的误区:以为满足条件的二维数组可以按行展开成一个有序数组,但其实不是,比如:
    1,2,8,9
    2,4,9,12
    4,7,10,13
    思路:从右上角开始查起,如果右上角比target大,则删除该列,小则删除改行,相等返回

    public class Solution {
        public boolean Find(int target, int [][] array) {
            if(array.length==0) return false;
            int m = array.length, n = array[0].length;
            for(int col=n-1,row=0;col>=0&&row<m;){
                if(array[row][col]==target)
                    return true;
                else if(array[row][col]>target){
                    col--;
                }
                else
                    row++;
            }
            return false;
        }
    

    相关文章

      网友评论

          本文标题:面试题4: 二维数组中的查找

          本文链接:https://www.haomeiwen.com/subject/vttmqftx.html