二维数组中的查找
来源:互联网 发布:铣削有限元仿真软件 编辑:程序博客网 时间:2024/06/02 17:20
题目:在一个二维数组中,每一行按照从左到右递增的顺序排序,每一列按照从上到下的递增顺序排序。完成一个函数,输入这样的二维数组和一个整数,判断数组中是否有该整数。
解法一:从右上角开始处理
bool Find(int* matrix, int rows, int columns, int number){ bool found = false; if(matrix != NULL && rows > 0 && columns > 0) { int row = 0; int column = columns - 1; while(row < rows && column >=0) { if(matrix[row * columns + column] == number) { found = true; break; } else if(matrix[row * columns + column] > number) -- column; else ++ row; } } return found;}
解法二:从左下角开始处理
bool FindFromLD(int *matrix, int rows, int columns,int number){bool found=false;if(matrix!=NULL&&rows>0&&columns>0){ int row=rows-1;int column=0;while(row>=0&&column<=columns-1){ if(matrix[row*columns+column]==number){found=true;break; } else if(matrix[row*columns+column]>number) row--; else column++;}}return found;}
参考:剑指offer 面试题3
0 0
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- Linux进程实验~
- Linux信号量的测试
- java开发中,一些名词解释以及一些常用概念
- Linux的管道,一个写一个读
- FIFO管道练习
- 二维数组中的查找
- 欢迎您在新浪博客安家
- 用4个砝码称东西,且砝码只能放在…
- 无名管道的亲缘关系进程的通信实例
- 【转载】MFC实现串口通信编程 - yu…
- 【转载】Ubuntu下嵌入式Qt开发环境…
- Opencv中meanShiftSegmentation的实现
- 【转载】【素材】闪烁的背景图
- C++中的引用与指针的区别