题目三:二维数组中的查找

Posted yzdai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题目三:二维数组中的查找相关的知识,希望对你有一定的参考价值。

//二位数组查找 题目描述
//在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
//请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

bool FindNum(int target, vector<vector<int> > vect)

     int iRow = vect.size();
     int iCol = vect[0].size();
    
     //从左上角开始遍历
     int i = 0, j = iCol - 1;
     while (i <= iRow - 1 && j >= 0) //保证数组不能越界
    
         if (vect[i][j] > target)
        
             j--;
        
         else if (vect[i][j] < target)
        
             i++;
        
         else
        
             return true;
        
    

    return false;

int DoubleArrayTest()

     //7, [[1, 2, 8, 9], [2, 4, 9, 12], [4, 7, 10, 13], [6, 8, 11, 15]]
     int aiData[4][4] = 1, 2, 8, 9, 2, 4, 9, 12, 4, 7, 10, 13, 6, 8, 11, 15;
     vector<vector<int>> res;

    cout << "初始化二位数组: " << endl;
     for (int i = 0; i < 4; i++)
    
         vector<int> vect;
         for (int j = 0; j < 4; j++)
        
             vect.push_back(aiData[i][j]);
        
         res.push_back(vect);

        TraversalArray(res[i]);
    

    if (FindNum(7, res))
    
         cout << "true" << endl;
    
     else
    
         cout << "false" << endl;
    

    return 0;

以上是关于题目三:二维数组中的查找的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer 04. 二维数组中的查找

求二维数组中的查找

剑指offer-二维数组中的查找

二维数组中的查找

剑指offer经典题目一:二维数组中的查找

《剑指Offer》题目——二维数组中的查找