剑指offer(3)二维数组的查找

3人阅读 评论(0) 收藏 举报
分类:

二维数据的具体方法剑指offer上讲的很详细,这里就不在赘述了

直接上牛客网上运行通过的代码

#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:
	bool Find(int target, vector<vector<int> > array)
	{
		
		int rows = array.size();//行数
		int cols = array[0].size();//列数
		if (rows==0&&cols==0)
		{
			return false;
		}
		int row = 0;
		int col = cols - 1;
		while (row < rows&&col >= 0)
		{
			if (array[row][col] == target)//判断是否是预期值,是的话返回true,结束程序
			{
				return true;
				break;
			}
			else if (array[row][col] > target)//如果数组右上角的数大于预期值,则去掉当前列,否则增加当前行
			{
				--col;
			}
			else
				++row;
		}
		return false;
	}	
};
int _tmain()
{
	vector <vector<int>> array;//定义一个二维数组
	int target;
	vector<int> v;//建立一个vector
	int temp;
	int rows;
	cout << "input array rows: ";
	cin >> rows;
	int cols;
	cout << "input array cols: ";
	cin >> cols;
	cout << "input array element: " << endl;
	for (int i = 0;i<rows;i++)
	{
		v.clear();	
		for (int j = 0;j<cols;j++)
		{		
			cin >> temp;
			v.push_back(temp);//把输入的数压入vector,尾部插入数字:vec.push_back(a);
		}
		array.push_back(v);
	}
	cout << "input target";
	cin >> target;
	Solution s;
	if (s.Find(target, array))
		cout << "YES";
	else
		cout << "NO";
	system("pause");
	return 0;
}

查看评论

数据结构基础系列(8):查找

-
  • 1970年01月01日 08:00

JAVA实现二维数组中的查找(《剑指offer》)

最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网...
  • qq_15062527
  • qq_15062527
  • 2015-10-01 14:24:34
  • 1431

剑指Offer之二维数组中的查找

这题是剑指Offer一书中得题,但是实在感觉这题不用suan'fa
  • yangchangshu
  • yangchangshu
  • 2014-09-02 22:48:07
  • 347

剑指offer:二维数组中的查找(数组)

题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析: ...
  • fengsser
  • fengsser
  • 2015-06-29 10:12:17
  • 1669

剑指offer算法 java实现 二维数组中的查找

题目: 在一个二维数组中,每一行都按照从左到右
  • believejava
  • believejava
  • 2014-08-16 14:33:31
  • 5669

剑指offer 面试题(二维数组中的查找) (2)

面试题: 二维数组中的查找    /* 题目:   在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成 一个函数,输入这样的一个二维数组和一个整数...
  • bitboss
  • bitboss
  • 2016-05-08 15:41:29
  • 705

牛客网刷题---二维数组中的查找(剑指offer)

题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。  输入描述...
  • liu_sheng_1991
  • liu_sheng_1991
  • 2016-06-20 17:56:49
  • 1109

《剑指offer》——二维数组中的查找

T: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 Constraints...
  • shansusu
  • shansusu
  • 2015-11-01 20:56:53
  • 421

牛客在线编程(剑指offer)---二维数组中的查找

题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路: 这个题目...
  • a1103000308
  • a1103000308
  • 2016-08-26 10:28:46
  • 380

剑指offer 面试题3:二维数组(矩阵)中数的查找(leetcode 74. Search a 2D Matrix) 题解

剑指offer 面试题 二维数组中的查找 提交网址: http://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpI...
  • yanglr2010
  • yanglr2010
  • 2016-04-23 20:30:44
  • 1520
    个人资料
    等级:
    访问量: 1482
    积分: 96
    排名: 142万+
    文章分类
    文章存档
    最新评论