题解 | #二维数组中的查找#
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
for(auto i:array)//c++11语法,逐行遍历
{
if(binary_search(i, target)) return true;//在本行中找到目标
}
return false;
}
//二分查找函数
bool binary_search(vector<int> arr,int target){
int left =0,right=arr.size()-1;
while (left<=right) {
int mid=(right+left)/2;
if(arr[mid]==target) return true;//找到了
else if(arr[mid]<target) left = mid+1;//往右边遍历
else right = mid-1;//往左边遍历
}
return false;
}
};
