码迷,mamicode.com
首页 > 编程语言 > 详细

剑指Offer(Java)-1-二维数组中的查找

时间:2020-11-10 11:01:49      阅读:10      评论:0      收藏:0      [点我收藏+]

标签:OLE   开始   get   pre   ati   offer   bool   一个   目标   

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-二维数组中的查找

标签:OLE   开始   get   pre   ati   offer   bool   一个   目标   

原文地址:https://www.cnblogs.com/asaltydog/p/13949713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!