当前位置 博文首页 > 机器猫的小蜗牛的博客:在一个从左到右,从上到下递增的数组中找

    机器猫的小蜗牛的博客:在一个从左到右,从上到下递增的数组中找

    作者:[db:作者] 时间:2021-09-22 16:51

    如题
    [
    [1,2,3],
    [3,4,5]
    ]
    对于这种如果暴力搜索肯定超时,观察数组特征,从左下角开始,1=行数-1,j=0,如果target大于当前值,则列指针向右走,j++,如果target小于当前值,行指针向上走i–

    #include <iostream> 
    #include <vector>
    using namespace std;
    bool findTarget(vector<vector< int>>& v,int target)
    {
       int m=v.size();
       int n=v[0].size();
       int i=m-1;
       int j=0;
    
       while(i>=0&&j<n)
       {
    	   if (v[i][j]==target){
    		   return true;
    	   }
    	   else if(v[i][j]<target) 
    	   {
    		   j++;
    	   }
    	   else{
    		   i--;
    	   }
       }
        return false;
    }
    
    int main( )
    {
    	vector<vector<int>> v={{1,2,3},{4,5,6}};
    	cout<<findTarget(v,2);
    }
    
    
    cs
    下一篇:没有了