一次循环 从左下角出发
二维数组中的查找
http://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e
一次循环 从左下角出发
public class Solution { public boolean Find(int target, int [][] array) { if(array==null) return false; if(array.length==0||array[0].length==0) return false; int n=array.length, m=array[0].length; int x=n-1, y=0; while(x>=0&&y<m){ if(array[x][y]>target) x--; else if(array[x][y]<target) y++; else return true; } return false; } }
也可以从右上角出发,写法是差不多的。
int x=0, y=m-1;