剑指offer整理-------二维数组查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
1 public boolean Find(int target, int[][] matrix) { 2 3 int row = 0; 4 int col = matrix[0].length - 1; 5 /*从二维数组的右上角开始寻找,因为每一行的最右侧为最大 6 值,先从每一行找,找不到则换行,此时不需要再想右边找因为在上一行已经进行过判断*/ 7 while (row < matrix.length && col >= 0) { 8 if(target == matrix[row][col]){ 9 return true; 10 } 11 if(target < matrix[row][col] ){ 12 col--; 13 }else{ 14 row++; 15 } 16 } 17 return false; 18 }