您的位置:首页 > 其它

Search a 2D Matrix

2016-03-01 21:57 260 查看
#include <vector>
using namespace std;
class Solution {
private:
bool search(vector<vector<int>>&ma, int start, int end, int target,int&column)
{
if (end < start)
return false;
int mid = (start + end) / 2;
int mrow, mcolumn,temp;
mrow = mid / column;
mcolumn = mid%column;
temp = ma[mrow][mcolumn];
if (temp == target)
return true;
else if (target < temp)
return search(ma, start, mid - 1, target, column);
else
return search(ma, mid + 1, end, target, column);
}
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
int row, column;
row = matrix.size();
column = matrix[0].size();
return search(matrix, 0, row*column - 1, target,column);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: