频道栏目
首页 > 资讯 > 其他 > 正文

剑指offer——二维数组中的查找

17-08-22        来源:[db:作者]  
收藏   我要投稿

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

//思路:根据题意,得到一个元素从左到右,从上到下分别递增的矩阵。而如果我们用常规思路从从单纯地从第一行第一列去遍历,那肯定不是考察的目标。

//我们可以想到,如果从最后一行,第一列的元素去遍历,那么此时当我们发现目标元素比当前元素小时,我们的当前元素就切换到它的上一个元素(比当前元素小),然后再进行比较。而目标元素比当前元素大时,我们的当前元素就切换到它的右边一个元素(比当前元素大),那么这样,我们就在每次比较后有了明确的搜索方法,而不是傻傻地一行行地搜索下来,是不是很巧妙!!

public class 二维数组中的查找 {
     public static boolean Find(int target, int [][] array) {
            int rows=array.length;
            if(rows<=1){
                return false;
            }
            int columns=array[0].length;
            if(targetarray[rows-1][columns-1])
                return false;
            int i=rows-1,j=0;
            while(i>=0 && jtarget){
                        i--;
                    }
                    else{
                        j++;
                    }
            }
            return false;
        }

    public static void main(String[] args)
    {
        int[][] array=new int[0][2];

        System.out.println(Find(16,array));
    }
}
相关TAG标签
上一篇:JavaScript的引用类型2(Function类型)
下一篇:DataTables开发心得--分页
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站