欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

240. Search a 2D Matrix II【力扣】

程序员文章站 2022-07-12 09:16:38
...

题意理解

在一个从左上角到右下角排好序的二维数组上找数。

问题分析

顺序查找扩展

先定搜索起始点[0][n-1],如果target等于当前值返回ture;如果target小于当前值,左移一位;如果target大于当前值,下移一位。

其他

学习思路。

链接

    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        if (matrix.size() == 0) return false;
        if (matrix.size() && matrix[0].size() == 0) return false;
        int m = matrix.size() - 1;
        int n = matrix[0].size() - 1;
        int i = 0, j = n;
        while(i <= m && j >= 0)
        {
           // cout << i << '\t' << j << '\t' << matrix[i][j] << '\t' << target << endl;
            if (matrix[i][j] == target)
            {
                return true;
            }
            else if (matrix[i][j] > target)
            {
                //cout << "zuo yi" << endl;
                j --;                
            }
            else
            {
                //cout << " xia yi" << endl;
                i ++;
            }
        }
        return false;
    }

 

相关标签: 查找