二维数组的查找(JAVA)

二维数组查找
    

    解题思路:找到该二维数组的特殊点,易知该二维数组左下角的那个点很特殊。从这个点往右看,数值都在变大;而往上看,数值都在变小。所以

  我们可以将这个点的索引设为起点(i,j),当比目标数大时,向上走,i--,而当比目标数小时,向右走,j++。

    

 1 public class Solution {
 2     public boolean Find(int target, int [][] array) {
 3         int i=array.length-1;
 4         int j = 0;
 5         while(i>=0&&j<array[0].length){
 6             if(array[i][j]>target){
 7                 i--;
 8             }else if (array[i][j]<target){
 9                 j++;
10             }else return true;
11         }
12         return false;
13     }
14 }

  

 

原文地址:https://www.cnblogs.com/ztqup666/p/9232616.html