(1)二分法
class Solution {
public:
bool searchMatrix(vector<vector<int>>& ma, int target) {
int m=ma.size(),n=ma[0].size();
int left=0,right=m*n-1,mid=0;
while(left<=right) {
mid=(left+right)/2;
int i=mid/n;
int j=mid%n;
if(ma[i][j]<target) left=mid+1;
else if(ma[i][j]>target) right=mid-1;
else return true;
}
return false;
}
};