码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 240搜索二维矩阵

时间:2019-05-27 13:41:55      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:etc   nbsp   img   ima   数字   info   i++   cout   else   

技术图片

 

/**
正常的二维搜索估计要超时,本题沿着对角线搜索,然后找到第一个大于目标数字的坐标(x,y)然后搜索(>x,<y)(<x,>y)子区域;
矩阵size() 为m,n;当i>=m时更新i=m,同理j>=n时,j=n;当j和i同时为n,m时还没找到目标数则return;
**/

class Solution {
public:
    bool searchMatrix(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 x=0,y=0;
        //cout<<m<<","<<n<<endl;
        for(int k=0;k<max(m,n);k++){
            //cout<<matrix[x][y]<<endl;
            if(matrix[x][y]<target){
                x=x<m-1?(x+1):m-1;
                y=y<n-1?(y+1):n-1;
                continue;
            }else{
                if(matrix[x][y]==target)return true;
                for(int i=x;i<m;i++)
                    for(int j=0;j<y;j++)
                        if(matrix[i][j]==target) return true;
                for(int i=0;i<x;i++)
                    for(int j=y;j<n;j++)
                        if(matrix[i][j]==target) return true;
                return false;
            }
        }
        return false;
    }
};

 

leetcode 240搜索二维矩阵

标签:etc   nbsp   img   ima   数字   info   i++   cout   else   

原文地址:https://www.cnblogs.com/joelwang/p/10929959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!