数组]leetcode240:搜索二维矩阵 Ⅱ(medium)"/>
[数组]leetcode240:搜索二维矩阵 Ⅱ(medium)
题目:
题解·:
class Solution {
public://解法1:暴力法bool searchMatrix_1(vector<vector<int>>& matrix, int target) {if(matrix.empty()||matrix[0].empty())return false;for(const auto& m:matrix){if(find(m.begin(),m.end(),target)!=m.end())return true;}return false;}//解法2:缩小领域法//因为每一行递增,每一列递增。所以本题的思路是从右上角往左下角找或者从左下角往右上角找。每次比较可以排除一行或者一列,时间复杂度为O(m+n)bool searchMatrix(vector<vector<int>>& matrix, int target) {if(matrix.empty()||matrix[0].empty())return false;int x=0,y=matrix[0].size()-1;//从右上向左下角寻找while(x<matrix.size()&&y>=0){if(matrix[x][y]==target)return true;if(matrix[x][y]>target)y--;//左移else x++;//下移}return false;}
};
更多推荐
[数组]leetcode240:搜索二维矩阵 Ⅱ(medium)
发布评论