C/C++教程

leetcode中等题

本文主要是介绍leetcode中等题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

从右上角往左下角看,是一个二叉搜索树

class Solution
{
public:
    bool findn(vector<vector<int>> &matrix, int target, int x, int y)
    {
        if (matrix.size() == 0)
        {
            return false;
        }
        else
        {
            if (x < 0 || x >= matrix.size() || y < 0 || y >= matrix[0].size())
                return false;

            if (matrix[x][y] == target)
                return true;
            else if (target < matrix[x][y])
            {
                return findn(matrix, target, x, y - 1);
            }
            else 
            {
                return findn(matrix, target, x + 1, y);
            }
        }
    }
    bool findNumberIn2DArray(vector<vector<int>> &matrix, int target)
    {
        if(matrix.size()==0)
            return false;
        int a = matrix[0].size() - 1;
        return findn(matrix, target, 0, matrix[0].size() - 1);
    }
};

  

这篇关于leetcode中等题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!