【数组】二维数组中的查找【剑指offer】

二维数组中的查找

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

#include <iostream>
#include <vector>
using namespace std;


//思路:先拿右上角的元素与待查找元素比较,如果该元素等于待查找元素,返回true;如果该元素小于待查找元素,行数加一;如果该元素小于待查找元素,列数减一。
class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        if(array.size() == 0)
            return false;
        int row = 0;
        int rows = array.size();        // 行
        int colunms = array[0].size();  // 列
        int colunm = colunms - 1;

        while(row < rows && colunm >= 0)
        {
            if(target == array[row][colunm])
                return true;
            else if(target > array[row][colunm])
                row++;
            else
                colunm--;
        }
        return false;
    }
};

int main()
{
    vector<vector<int> > v;
    vector<int> a;
    for(int i=0;i<8;i++)
        a.push_back(i);
    for(int j=0;j<3;j++)
        v.push_back(a); 
    Solution so;
    cout<<so.Find(0, v)<<endl;
}
全部评论
测试用例不满足条件吧
点赞 回复 分享
发布于 2020-05-07 14:52

相关推荐

不愿透露姓名的神秘牛友
11-20 19:57
已编辑
某大厂 golang工程师 23.0k*16.0, 2k房补,年终大概率能拿到
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务