AcWing 15. 二维数组中的查找
思路分析:
AC代码:
class Solution {
public:
bool searchArray(vector<vector<int>> array, int target) {
// 最坏的做法是 O(n^2) 全部遍历
// 提供一个线性做法:每次都和右上角的数进行比较,每次比较完后,要么行数-1,要么列数-1,时间复杂度 O(n)
if (array.empty() || array[0].empty())
return false;
int i = 0;
int j = array[0].size() - 1;
while(i < array.size() && j >= 0) {
if(array[i][j] == target)
return true;
if(array[i][j] > target)
j--;
else
i++;
}
return false;
}
};