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

二维数组中的查找

http://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e

class Solution { public: bool Find(int target, vector<vector > array) {

    /*
    //方法一:列二分法
    int row=array.size();
    if(row<=0)
        return false;
    
    int rol=array[0].size();
    
    //int rowbegin=0,rowend=row-1;
    int rolbegin=0,rolend=rol-1;
    
    
    for(int i=0;i<row;i++)
    {
        while(rolbegin<=rolend)
        {
            int mid=rolbegin+(rolend-rolbegin)/2;
            if(array[i][mid]==target)
                return true;
            else if(array[i][mid]<target)
            {
                rolbegin=mid+1;
            }
            else
            {
                rolend=mid-1;
            }
        }
        rolbegin=0;
        rolend=rol-1;
    }
    
    return false;
    */
    
    //方法二:分治
    int row=array.size();
    if(row<=0)
        return false;
    
    int rol=array[0].size();
    
    int m=row-1,n=0;
    
    while(m>=0&&n<rol)
    {
        if(array[m][n]==target)
            return true;
        else if(target<array[m][n])
        {
            m--;
        }
        else
        {
            n++;
        }
    }
    
    return false;
        
        
        
        
     
    
}

};

全部评论

相关推荐

白火同学:先说结论,对于一份实习简历来说,整体还是挺不错的,技术深度和广度都到位,找到一份中小厂的实习没啥问题。 再说说能优化的点吧。 1、量化结果,项目中很多工作量化一下结果给面试官的感受会更直观一些,也能体现你对应用该项技术的理解(在众多技术为什么要用它,运行性能或者说开发效率往往是一大考虑指标;而不是说大家做这种功能都用它,所以我用它)。 2、突出亮点,项目中可以从“工作职责”择一些“个人亮点”另写一块,优先去写开发过程中遇到的xx问题,使用xx技术达到xx效果,针对性去写一些疑杂难的功能,能带出你个人思考和解决的过程。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务