面试题3:二维数组中的查找

原创 2015年07月08日 21:42:01

题目:在二维数组中,每行、每列的数字递增,判断一个数字是否存在

分析:从二维数组的右上角开始查找,若找到,则停止;若比该数字大,则放弃该列;若比该数字小,则放弃该行。

代码如下:

// 面试题3.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#define MAXN 100

bool Find(int* matrix,int n,int m,int number)
{
	bool found = false;
	if(matrix != NULL && n > 0 && m > 0)
	{
		int row = 0;
		int column = m-1;
		
		while(row < n && column >= 0)
		{
			if(matrix[row*m + column] == number)
			{
				found = true;
				break;
			}
			else if(matrix[row*m + column] > number)
			{
				column--;
			}
			else
			{
				row++;
			}
		}
	}
	return found;
}

int main(int argc, char* argv[])
{
	int matrix[4][4]={1,2,8,9,2,4,9,12,4,7,10,13,6,8,11,15};
	int n,m,i,j,number;

	while(scanf("%d%d",&n,&m)!=EOF){
		scanf("%d",&number);
	bool found = Find((int*)matrix,n,m,number);
	printf("%d\n",found);
	}
	return 0;

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

剑指offer-面试题3 二维数组中的查找

目前研三,毕业在即,之前做Android开发,现在想转到后台开发,却发现算法部分太过欠缺,所以就去博客上看别人写的剑指offer题的见解。声明,我这里只是针对别人写的,自己敲一遍代码,然后发表出来,算...

【剑指offer】面试题3:二维数组中的查找

题目:在一个二维数组中,每一行从左到右递增,每一列从上到下递增,在这个二维数组中,查找给定的数是否存在。 分析:遍历来查找的事这里就不说了,像星爷说的:“像我这么理智的人,怎么会相信这么无稽的事情。...

【剑指offer】 面试题3: 二维数组中的查找

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

剑指offer——面试题3:二维数组中的查找

题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 选取数组中右上角...

面试题3:二维数组中的查找

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

剑指offer_面试题3_二维数组中的查找(简单问题亦不能忽视)

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

【剑指Offer】面试题3:二维数组中的查找

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

面试题3:二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。         ...
  • Jere_
  • Jere_
  • 2014-11-21 23:14
  • 209

面试题3 ----二维数组中的查找

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

剑指Offer 面试题3 二维数组中查找

剑指Offer 面试题3 二维数组中查找      参加鹅厂实习生笔试,在算法上被虐惨,做项目花了大部分时间,算法能力没能提高,迫切需要提高算法能力。遂收集各种面试题,刷刷算法。       本文参考...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)