LeetCode-240-搜索二维矩阵 II
1. 题目:
搜索二维矩阵 II
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:
- 每行的元素从左到右升序排列。
- 每列的元素从上到下升序排列。
示例:
现有矩阵 matrix 如下:
1 | [ |
给定 target = 5
,返回 true
。
给定 target = 20
,返回 false
。
2. 解题:
这是一个特殊的矩阵,每一行是从小到大,每一列也是从小到大。因此我们可以知道矩阵的右上角是行的中最大的,也是列中最小的。
因此,我们可以每次都和矩阵的右上角元素比较:
target == matrix[row][col]
返回true
;
target < matrix[row][col]
说明肯定不在当前列,因此“删去当前列”,col--
target > matrix[row][col]
说明肯定不在当前行,因此“删去当前行”,row++
代码:
1 | class Solution { |