public class Solution { public boolean Find(int target, int [][] array) { int row = array.length; if(row == 0) { return false; } int col = array[0].length; if(col == 0) { return false; } // 最右上角的位置 int r = 0, c = col - 1; // 从右上开始向右下对比 while(r < row && c >= 0) { if(target == array[r][c]) { return true; } else if(target > array[r][c]) { // 说明目标值在[r][c]的下边 ++r; } else { // 说明目标值在[r][c]的左边 --c; } } return false; } }