搜索二维矩阵的二分查找

138 阅读1分钟
class Solution {public:    bool searchMatrix(vector<vector<int>>& matrix, int target) {        int m=matrix.size();        if(m==0) return 0;        int n=matrix[0].size();        int i=0,j=m*n-1;        while(i<=j)        {            int mid=(i+j)/2;            if(matrix[mid/m][mid%m]==target) return 1;            else if(matrix[mid/m][mid%m]>target) j=mid-1;            else i=mid+1;                    }    return 0;    }};

大的话,右边=mid-1;

小,左边=mid+1;