题解 | #寻找牛群中的特定编号牛#

寻找牛群中的特定编号牛

https://www.nowcoder.com/practice/e0c6f3fba6dd40b99e8bcc0241631f9d

考察知识点:数组

题目分析:

观察整个数组:

发现从9开始向右或向下,值都会变小;从1开始向上或向左,值都会变大;

而从7开始向左变大,向下变小;从3开始向上变大,向右变小;我们可以利用这个特征, 从矩阵的右上角或左下角开始,当遍历到的值比目标值大时,将i或j指针做相应的移动。如果i或j出界,那么就说明没有这个值。

所用编程语言:C++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param matrix int整型vector<vector<>> 
     * @param target int整型 
     * @return bool布尔型
     */
    bool searchMatrix(vector<vector<int> >& matrix, int target) {
        // write code here
        int size = matrix[0].size();
        int i = 0, j = size - 1;
        while (matrix[i][j] != target) {
            if (matrix[i][j] > target) i++;
            else j--;
            if (i == size || j == -1) return false;
        }
        return true;
    }
};

全部评论

相关推荐

07-29 13:49
深圳大学 运营
点赞 评论 收藏
分享
写不来代码的小黑:这么小的城市能有做it的公司也不容易
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-24 13:36
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务