题解 | #二维数组中的查找#
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
public class Solution { public boolean Find(int target, int [][] array) { if(array==null||array.length==0){ return false; } int n=array.length; int m=array[0].length; int i=0;int j=0; int right=0; // 标记是不是指针是不是从右回退回来的,是的话就不需要再向后一列查询了,直接行+1; while(i>=0&&i<n&&j>=0&&j<m){ int val=array[i][j]; if(val==target){ return true; }else{ if(val>target){ j--; right=1; } else{ if(right==1){ i++; right=0; }else{ if(j==m-1){ i++; }else{ j++; } } } } } return false; } }