在左到右递增,上到下递增的二维数组中找数
作者:互联网
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
#include<stdio.h>
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int i = 0, j = 0;
int row = array[0].size(), col = array.size();
int flag = 0;
for (i = 0, j = col-1; i < row && j >= 0; ) {
if (array[i][j] > target) {
j--;
continue;
}
else if (array[i][j] < target) {
i++;
continue;
}
else {
return true;
}
}
return false;
}
};
int main() {
vector<vector<int> >a(5, vector<int>(5));
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
a[i][j] = i + j + 1;
}
}
Solution s;
if (s.Find(4, a)) {
cout << "存在!" << endl;
}
return 0;
system("pause");
}
标签:左到,target,找数,递增,++,int,数组,array,include 来源: https://blog.csdn.net/qq_40500982/article/details/97305282