二维数组查找
解题思路:找到该二维数组的特殊点,易知该二维数组左下角的那个点很特殊。从这个点往右看,数值都在变大;而往上看,数值都在变小。所以
我们可以将这个点的索引设为起点(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 }