您的位置:首页 > 其它

[leetcode]Search a 2D Matrix

2015-07-24 17:07 375 查看
#include<iostream>
#include<vector>
using namespace std;
class Solution
{
public:
bool find(vector<vector<int>>a,int target)
{
int l=0;
int r=a.size()*a.back().size()-1;
while(l<r)
{
int mid=l+(r-l)/2;
int t=a[mid/a.front().size()][mid%a.front().size()];
if(t==target)
return true;
else if(t>target)
r=mid-1;
else
l=mid+1;
}
return false;
}
};

void main()
{
Solution solution;
int a[3][4]={1,3,5,7,10,11,16,20,23,30,34,50};
vector<int>b[3];
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
b[i].push_back(a[i][j]);
vector<vector<int>>arr(b,b+3);
cout<<solution.find(arr,6);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: