1、暴力解法,遍历数组如果有这个数就停止,没有就返回FLASE.
public boolean Find(int target, int [][] array) { if(array.length == 0 ||target < 0 ){ return false; } for(int i = 0; i<array.length;i++){ for(int j = 0;j<array[0].length;j++){ if(array[i][j] == target) return true; } } return false; } 2、寻找规律,从右上角开始依次查询 排除数字不能出现的区域 public boolean Find(int target, int [][] array) { if(array.length-1 == 0 ){return false;} int row = 0; int column = array[0].length-1; boolean s = false; while(row < array.length&&column>=0){ if(array[row][column] == target){ s = true; break; }if(array[row][column]>target){ column--; }else { row++; } } return s; }