diff --git a/notes/4. 二维数组中的查找.md b/notes/4. 二维数组中的查找.md index faa97e3d..cebb3d1a 100644 --- a/notes/4. 二维数组中的查找.md +++ b/notes/4. 二维数组中的查找.md @@ -26,7 +26,7 @@ Given target = 20, return false. 要求时间复杂度 O(M + N),空间复杂度 O(1)。其中 M 为行数,N 为 列数。 -该二维数组中的一个数,小于它的数一定在其左边,大于它的数一定在其下边。因此,从右上角开始查找,就可以根据 target 和当前元素的大小关系来快速地缩小查找区间,每次减少一行或者一列的元素。当前元素的查找区间为左下角的所有元素。 +右上角的元素是它所在行的最大值、所在列的最小值。target 比它小时,这一列下面的数都更大,可以排除这一列;target 比它大时,这一行左边的数都更小,可以排除这一行。每次排除一行或一列,剩下的查找区间仍是一个矩形,它的右上角就是下一个要比较的元素。例如查找 5:15、11、7 都大于 5,依次排除最后三列;4 小于 5,排除第一行;下移到 5,找到。