在一个二维数组中查找一个整数

论坛 期权论坛 脚本     
匿名技术用户   2021-1-6 04:02   72   0

题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

解题思路:在一个数组中查找一个整数,只有两种情况在或者不在,由题可知左上角元素值最小,右下角元素值最大,因此只要要查找的关键值在范围内就进入循环体,否则返回false。话不多少,献上代码:

代码实现:

class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int rows = array.size();
int cols = array[0].size();
int i=rows-1,j=0;
//if(array[0][0]>target&&array[rows][array.size()])
// return false;判断关键值target是否在数组中
while(i>=0 && j<cols){
if(target<array[i][j])
i--;
else if(target>array[i][j])
j++;
else
return true;
}
return false;
}
};

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP