题解 | #二维数组中的查找#

二维数组中的查找

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;
    }

    
};

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务