??双重循环遍历二维数组直箌matrix[i][j]==target
,返回true
未利用到题目中所说的行递增、列递增的特点。
- 时间复杂度O(n*m);空间复杂度O(1)
??利用了行递增的特点:每行数据均有序首先想到的就是利用二分查找的方法查找元素。
-
matrix[i]
表示第i行的元素即一维数组。 - java提供了二分查找的方法
3. 矩阵消除法(自命名)
??利用行递增、列递增的特点:矩阵的右上角元素是该行的最大值、该列的最小值,那么:
- 最多查找次数是从右上角查找而target恰好在左丅角才找到或找不到的情况(走了直角),即m+n次查找
- 时间复杂度O(n+m),空间复杂度O(1)