其他分享
首页 > 其他分享> > 在左到右递增,上到下递增的二维数组中找数

在左到右递增,上到下递增的二维数组中找数

作者:互联网

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

#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