杨氏矩阵查找
来源:互联网 发布:java中的移位运算 编辑:程序博客网 时间:2024/05/16 11:16
1019. 杨氏矩阵查找
杨氏矩阵,即在一个二维数组中,每一行都按照从左到右严格递增的顺序排序,每一列都按照从上到下严格递增的顺序排序。请完成一个函数,输入这样的一个N*N的二维数组和M个整数,判断数组中是否含有上述M个整数。你能解决这个问题吗?
可能有多个测试输入,第一行给出总共的测试输入的个数。
对于每个测试输入,第一行包含两个正整数N和M,接下来是一个N*N的杨氏矩阵,最后是M个待查找的整数(0。
对于每一个待查找的整数,输出true或false,即判断矩阵中是否含有该整数。
1
5 3
1 5 10 15 202 7 13 18 243 9 15 21 284 12 20 28 32 5 15 24 30 35153135
truefalsetrue
方法一:
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
bool Search(int N, int key, int **data);
int main() {
int cases; //测试用例个数
scanf("%d", &cases);
while (cases--) {
int M, N; //N:数组的大小,M:待查找数的个数
scanf("%d%d", &N, &M);
int **data = new int*[N]; //指向二维数组的指针的指针
for (int i = 0; i < N; ++i) {
data[i] = new int[N];
}
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
scanf("%d", &data[i][j]);
}
}
int key;
while (M--) {
scanf("%d", &key);
if (Search(N, key, data))
printf("true\n");
else
printf("false\n");
}
}
return 0;
}
bool Search(int N, int key, int **data) {
int x = 0, y = N - 1;
bool flag = false;
while (x < N && y >= 0) {
if (data[x][y] == key) {
flag = true;
break;
} else if (data[x][y] > key) {
--y;
} else
++x;
}
return flag;
}
方法二:
计数排序
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main() {
int cases;
scanf("%d", &cases);
while (cases--) {
int M, N;
scanf("%d%d", &N, &M);
bool data[100000];
memset(data,0,sizeof(data));
for (int i = 0; i < N * N; ++i) {
int temp;
scanf("%d", &temp);
data[temp] = 1;
}
int key;
while (M--) {
scanf("%d", &key);
if (data[key])
printf("true\n");
else
printf("false\n");
}
}
return 0;
}
- 杨氏矩阵查找!
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏查找矩阵
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- 杨氏矩阵查找
- Java 数据类型(基本数据类型、引用数据类型)
- iOS的安装包:deb、ipad、pxl
- 实现Reporting Service2008 的匿名访问
- 奇虎360 2014校园招聘面试
- DeepLearning(深度学习)原理与实现(一)
- 杨氏矩阵查找
- cocos2d-x 之 CocosBuilder 之文章收集 (不断更新)(2014.4.2更新)
- oracle中的删除用户及表
- 黑马程序员_学习笔记第8天——多态
- Linux驱动开发之八-----按键驱动(异步通知机制)
- 用友U8如何解除单据的锁定
- CheckStyle检查项目分布图
- 使用dbutils工具向数据库中存储大数据
- ASCII Unicode和UTF-8