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;
    }
}