题解 | #寻找牛群中的特定编号牛#
寻找牛群中的特定编号牛
https://www.nowcoder.com/practice/e0c6f3fba6dd40b99e8bcc0241631f9d
考察的知识点:数组;
解答方法分析:
- 初始化行指针row为0,列指针col为matrix[0]的长度减1。
- 当行指针row小于matrix的行数,列指针col大于等于0,且matrix[row][col]不等于目标值时,执行以下步骤:若matrix[row][col]大于目标值,行指针row向下移动一位。否则,列指针col向左移动一位。
- 如果循环结束,仍未找到目标值,则返回
false
表示未找到。 - 否则,若行指针row小于matrix的行数且列指针col大于等于0,且matrix[row][col]等于目标值,则返回
true
表示找到了目标值。
所用编程语言:C++;
完整编程代码:↓
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param matrix int整型vector<vector<>> * @param target int整型 * @return bool布尔型 */ bool searchMatrix(vector<vector<int> >& matrix, int target) { int row = 0; int col = matrix[0].size() - 1; while (row < matrix[0].size() && col > 0 && matrix[row][col] != target) { if (matrix[row][col] > target) { row++; } else { col--; } } return (row < matrix.size() && col >= 0 && matrix[row][col] == target); } };