剑指Offer(Java)-1-二维数组中的查找
Posted 一条咸狗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer(Java)-1-二维数组中的查找相关的知识,希望对你有一定的参考价值。
public static boolean Find(int target, int [][] array) { if(array==null||array[0].length==0){ return false;//数组非空判断 } if (array[0][0]> target) { return false; } int a=array.length; int b=array[0].length; int c=0;//从第一行最后一个元素开始作比较 while(true){ //按二维数组右上角做二分 if(array[c][b-1]==target){ return true; } else if(array[c][b-1]>target){ //最右上角的值大于目标值,则不比较最后一列的其他值 b=b-1; if(b-1<0){ break; } } else if(array[c][b-1]<target){ //最右上角的值小于目标值,则不比较第一行的值, c=c+1; if(c==a){ break; } } } return false; } }
以上是关于剑指Offer(Java)-1-二维数组中的查找的主要内容,如果未能解决你的问题,请参考以下文章