题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输 入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 
 
解析: 
- 方法一(最笨的方法):
 
 -     public boolean Find(int target, int [][] array) {
 
 -                 for(int i=0;i<array.length;i++){
 
 -             for(int j=0;j<array[i].length;j++){
 
 -                 if(array[i][j]==target){
 
 -                     return true;
 
 -                 }
 
 -             }
 
 -         }
 
 -         return false;
 
 -     }
 
  
-         方法二(最佳方法,从数组右上角开始遍历):
 
 -         public boolean Find(int target, int [][] array) {
 
 -                 int rowLen = array.length;
 
 -         int colLen = array[0].length;
 
 -         int rowNum = 0;
 
 -         int colNum = colLen-1;
 
 -         while(rowNum<rowLen&&colNum>=0){
 
 -             if(array[rowNum][colNum]<target){
 
 -                 rowNum++;
 
 -             }else if(array[rowNum][colNum]>target){
 
 -                 colNum--;
 
 -             }else if(array[rowNum][colNum]==target){
 
 -                 return true;
 
 -             }
 
 -         }
 
 -         return false;
 
 -     }
 
  复制代码 |   
        
 
    
    
    
     
 
 |