题解方法
二分查找
- 无法保证每行的第一个整数大于前一行的最后一个整数
- 只能先遍历行,然后再对行进行二分查找。
核心代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| for (int[] col : matrix) { int l = 0; int r = matrix[0].length - 1;
while (l < r) { int mid = l + r + 1 >> 1; if (col[mid] <= target) { l = mid; } else { r = mid - 1; } } if (col[l] == target) { return true; } }
|
题目来源
240. 搜索二维矩阵 II - 力扣(LeetCode) (leetcode-cn.com)