面试题3_查找二维数组中的指定整数
来源:互联网 发布:思念诗词 知乎 编辑:程序博客网 时间:2024/06/11 04:11
面试题3_查找二维数组中的指定整数
//面试题3:二维数组中的整数查找//在一个二维数组 n*m 中,查找给定的一个整数。//该二维数组的特点是:二维数组中的每一行从左到右递增,每一列从上到下递增。//完成一个函数:输入一个二维数组和一个整数,判断能不能找到。//直观思路:依次每行每列的扫描每个整数,看它是否与给定的整数相等。//时间复杂度:O(n*m)//进阶思路:从二维数组的右上角开始扫描判断,每次判断均可以去掉一行或者一列的元素,时间复杂度大大减小。#include<iostream>#include<algorithm>#include<vector>#include<string>using namespace std;class Solution{public:bool FindKey(int *matrix, int rows, int cloums, int key){if(matrix==nullptr || rows<=0 || cloums<=0)return false;bool result=false;int row=0;int cloum=cloums-1;while(row<rows && cloum>=0){if(matrix[row*cloums+cloum] == key){result=true;vector<int> index;index.push_back(row);index.push_back(cloum);cout<<index[0]<<","<<index[1]<<endl;return result;}else if(matrix[row*cloums+cloum] > key)--cloum;else++row;}return result;}};int main(void){int matrix[][4]={1,2,8,9, 2,4,9,8, 4,7,10,13, 6,8,11,15};int key=16;//输入的key在数组中,不在数组中,数组是空的。Solution object;bool result=object.FindKey((int *)matrix,4,4,key);cout<<result<<endl;system("pause");return 0;}
阅读全文
0 0
- 面试题3_查找二维数组中的指定整数
- 面试题3:二维数组中的查找
- 面试题3 二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3-二维数组中的查找
- 面试题3 二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3 ----二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- 面试题3:二维数组中的查找
- oracle 将查询结果创建表并插入
- Vim教程之终极篇
- Android杂谈(23)Service+BroadcastReceiver+数据库+HttpURLConnection实现断点续传(上)
- Spring中Bean及@Bean的理解
- arm板子写spiflash
- 面试题3_查找二维数组中的指定整数
- sklearn 中的算法选择图(中文)
- 41 linux标准输入设备之矩阵键盘驱动的实现
- FZU 2140
- Dtection:PVA-net
- TLB工作原理
- error: could not lock config file E:/git/Git/%USERPROFILE%/.gitconfig: No such file or directory
- asp.net 入门
- (观后感)阿里妈妈首次公开自研CTR预估核心算法MLR