Leetcode刷题笔记题解(C++):LCR 121. 寻找目标值 - 二维数组

Leetcode刷题笔记题解(C++):LCR 121. 寻找目标值 - 二维数组_第1张图片

思路:从左小角或者右上角开始遍历,假设右上角开始遍历,如果当前值大于目标值则列-1;如果当前值小于目标值则行+1,以此遍历来查找目标值;注意col和row的选取

class Solution {
public:
    bool findTargetIn2DPlants(vector>& plants, int target) {
        if(plants.size()==0) return false;
        //定义右上角的坐标值
        int row = 0;
        int col =plants[0].size()-1;
        while(row < plants.size()&&col>=0){
            if(plants[row][col]==target) return true;
            //如果当前值大于目标值,列-1
            else if (plants[row][col]>target) col--;
            //如果当前值小于目标值,行+1
            else row++;
        }
        return false;
    }
};

你可能感兴趣的:(Leetcode算法题解,leetcode,笔记,c++)