剑指offer 面试题04. 二维数组中的查找

题目描述

https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/

参考

https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/solution/

复杂度

时间:m*n ,m+n的解参见参考链接题解模块
空间:1

代码

class Solution {
public:
    /*
    * * * * * *
    * * * * * *
    * * * * * *
    * * * * * *
    
    */
    
    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
        int m=matrix.size();
        if(m==0) return false;
        int n=matrix[0].size();
        if(n==0) return false;
        int rbe=0,cend=n-1;
        for(int i=0;i<m;i++){
            if(matrix[i][n-1]<target){
                continue;
            }else{
                rbe=i;
                break;
            }
        }
        // cout<<"rbe:"<<rbe<<endl;
        for(int i=rbe;i<m;i++){
            for(int j=0;j<=cend;j++){
                if(matrix[i][j]>target){
                    cend=j-1;
                }else if(matrix[i][j]==target){
                    return true;
                }
            }
        }
        return false;
    }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容