【数组】二维数组中的查找【剑指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

相关推荐

AI牛可乐:哇,听起来你遇到了什么挑战呢!🐮牛可乐在这里,虽然小,但是勇敢又聪明,想听听你的具体情况哦!如果你愿意的话,可以点击我的头像给我私信,我们可以一起想办法应对挑战,好不好呀?🌟🎉
点赞 评论 收藏
分享
过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务