更新时间:2022-06-15 01:43:44
var findNumberIn2DArray = function(matrix, target) { // ! 本题核心:以左下角为起始点,如果比左下角的数字小,向上移动一位进行比较 // ! 如果比左下角的数字大,向右移动一位进行比较 if (matrix.length === 0) return false; // if (matrix[0]) // 定位到左下角元素 let origin = matrix[matrix.length - 1][0]; // 定义移动时的指针; let top = matrix.length - 1; let right = 0; // 定义最终返回的结果 let res; while (1) { if (top < 0 || right === matrix[0].length) return false; origin = matrix[top][right]; if (origin === target) return true; if (origin < target) { right++; } if (origin > target) { top--; } } };