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

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

https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/solution/mian-shi-ti-04-er-wei-shu-zu-zhong-de-cha-zhao-zuo/
这个讲的特别清楚

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

//这个是从左下角数开始的
class Solution {
public:
    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
        int i = matrix.size() - 1, j = 0;
        while(i >= 0 && j < matrix[0].size())
        {
            if(matrix[i][j] > target) i--;
            else if(matrix[i][j] < target) j++;
            else return true;
        }
        return false;
    }
};

作者:jyd
链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/solution/mian-shi-ti-04-er-wei-shu-zu-zhong-de-cha-zhao-zuo/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
//这个是从右上角数开始的
class Solution {
public:
    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
        //二维数组是正方形
        if(matrix.size()==0) return false;
        int i=0;
        int j=matrix[0].size()-1;
        while(j>=0 && i<=matrix.size()-1){
            if(matrix[i][j]>target) j--;
            else if(matrix[i][j]<target) i++;
            else return true;
        }
    return false;
    }

};

注意!
matrix.size()是矩阵的行的数据
matrix[0].size()是矩阵的列的数据

上一篇:Android中的广播基本实现及回调方法的理解


下一篇:C语言病毒问题