题解 | #二维数组中的查找#
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param target int整型
* @param array int整型vector<vector<>>
* @return bool布尔型
*/
//根据数组的大小顺序,先从左下角开始查找,如果大于target,就往当前元素右边找,如果小于target,就往当前元素左边找,这样就没必要遍历完整个容器,节省时间
bool Find(int target, vector<vector<int> >& array) {
int n = array.size() -1; // 这里,我学到了二维容器,如何求行和列的长度
int m = array[0].size() -1;
int i = n; int j = 0;
while(i <= n && i >= 0 && j >= 0 && j <= m)
{
if(array[i][j] < target) j++; //小于target,左边找
else if(array[i][j] > target) i--; //大于target,右边找
else return target;
}
return false;
}
};
查看12道真题和解析