class Solution {
public:
vector<int> findElement(vector<vector<int> >& mat, int n, int m, int x) {
//从左到右,从上到下,依次递增,可以比较中间的数,进行排除,最终选中目标,或者停留在目标;
int left_up1 = 0;
int left_up2 = 0;
int right_down1 = n-1;
int right_down2 = m-1;
while(left_up1 < right_down1 || left_up2 < right_down2){
int mid1 = left_up1;
int mid2 = right_down2;
if(mat[mid1][mid2] == x){
return {mid1, mid2};
}else if(mat[mid1][mid2] > x){
--right_down2;
}else{
++left_up1;
}
}
return {left_up1, right_down2};
}
};

京公网安备 11010502036488号