面试题3:二维数组中的查找
来源:互联网 发布:qq邮箱imap端口号 编辑:程序博客网 时间:2024/05/16 12:15
题目:在二维数组中,每行、每列的数字递增,判断一个数字是否存在
分析:从二维数组的右上角开始查找,若找到,则停止;若比该数字大,则放弃该列;若比该数字小,则放弃该行。
代码如下:
// 面试题3.cpp : Defines the entry point for the console application.//#include "stdafx.h"#define MAXN 100bool 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;}
0 0
- 面试题3:二维数组中的查找
- 面试题3 二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3-二维数组中的查找
- 面试题3 二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3 ----二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题 3:二维数组中的查找
- 基于触发机制的脚本系统
- linux下使用命令修改IP地址
- atoi
- visual studio 2013 --"Microsoft SQL Server Data Tools package did not load correctly"
- hadoop shell命令介绍
- 面试题3:二维数组中的查找
- IOS--UI--LessonTarget/Action /Delegate
- BMP图像数据格式详解
- Dijastra最优路径算法
- Android Studio 导入项目后不允许RUN 可修改buildToolsVersion
- Android中Intent-filter的四个属性Action,Category,Extras,Data
- C语言中 typeof()函数的用法
- 关于ImageView加载出现OOM问题
- 生产环境下的hadoop 配置实战