题目链接 思路 在一个二维数组(矩形)中,每一行从左到右每一列从上到下都依次递增将矩形的左下角设置为起点,开始对数组进行循环 如果当前元素大于target就排除当前列如果当前元素小于target就排除当前行如果等于返回true如果到最后都没有找到target就返回false java public boolean findNumberIn2DArray(int[][] matrix, int target) { int x = 0; int y = matrix.length - 1; while (y >= 0 && x < matrix[0].length) { if (target == matrix[y][x]) { return true; } if (matrix[y][x] > target) { y--; continue; } if (matrix[y][x] < target) { x++; } } return false; } go func findNumberIn2DArray(matrix [][]int, target int) bool { x, y := 0, len(matrix)-1 for y >= 0 && x < len(matrix[0]) { if target == matrix[y][x] { return true } if matrix[y][x] > target { y-- continue } if matrix[y][x] < target { x++ } } return false }