二維陣列中的查詢
阿新 • • 發佈:2020-08-01
在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
1 /*二維陣列查詢*/ 2 public boolean findNumberIn2DArray(int[][] matrix, int target) { 3 /*matrix.length指的是行數*/ 4 if ((matrix == null || matrix[0].length == 0) || (matrix.length == 1 && matrix[0].length == 0)) {5 return false; 6 } 7 int i = 0; //行 8 int j = matrix[0].length - 1; //列 9 while (i <= matrix.length && j >= 0) { 10 if (matrix[i][j] == target) { 11 return false; 12 } else if (target < matrix[i][j]) {13 j--; 14 } else { 15 i++; 16 } 17 } 18 return false; 19 }
public boolean findNumberIn2DArray(int[][] matrix, int target) {
/*matrix.length指的是行數*/
if ((matrix == null || matrix[0].length == 0) || (matrix.length == 1 &&matrix[0].length == 0)) {
return false;
}
int i = 0; //行
int j = matrix[0].length - 1; //列
while (i <= matrix.length && j >= 0) {
if (matrix[i][j] == target) {
return false;
} else if (target < matrix[i][j]) {
j--;
} else {
i++;
}
}
return false;
}