行递增、列递增的二维数组中查找
来源:互联网 发布:淘宝返现app 编辑:程序博客网 时间:2024/05/05 16:18
每一行递增,每一列递增的矩阵的查找:
一个m*n的矩阵,从左到右从上到下都是递增的,给一个数elem,求是否在矩阵中,给出思路和代码
杨氏矩阵,简单题目:
#include
#include
/**
* 有序矩阵查找
*
* T = O(n + n)
*
*/
void findKey(int **matrix, int n, int m, int key)
{
int row, col;
for (row = 0, col = m - 1; row < n && col >= 0;) {
if (matrix[row][col] == key) {
printf("第%d行,第%d列\n", row + 1, col + 1);
break;
} else if (matrix[row][col] > key) {
col -= 1;
} else {
row += 1;
}
}
printf("不存在!\n");
}
int main(void)
{
int i, j, key, n, m, **matrix;
// 构造矩阵
scanf("%d %d", &n, &m);
matrix = (int **)malloc(sizeof(int *) * n);
for (i = 0; i < n; i ++)
matrix[i] = (int *)malloc(sizeof(int) * m);
for (i = 0; i < n; i ++) {
for (j = 0; j < m; j ++)
scanf("%d", &matrix[i][j]);
}
// 查询数据
while (scanf("%d", &key) != EOF) {
findKey(matrix, n, m, key);
}
return 0;
}
- 行递增、列递增的二维数组中查找
- 二维数组中查找一个数,该二维数组是 行和列递增的
- 行、列递增的二维数组数字查找
- 从行,列均为递增的二维数组中查找给定元素
- 二维递增数组的查找
- 在一个每一行从左到右递增每一列从上到下递增的二维数组中查找一个整数是否存在
- 在一个二维数组中查找一个数,这个数组的行和列都是以递增形式存储的
- 二维数组中的查找(行递增矩阵的查找)
- 行列均递增的二维数组中查找元素
- 行列递增序列的二维数组查找
- 二维数组中查找数据(该数组每行从左至右递增,每列从上至下递增)
- 剑指offer面试题3 在一个每一行递增 且每一列递增的二维数组中查找一个数
- 在一个每一行从左到右递增每一列从上到下递增的二维数组中查找一个整数是否存在——3
- 递增二维数组中的查找
- 行元素从小到大递增,列元素从小到大递增的数组查找算法
- 在一个二维数组中,每一行都从左到右递增,每一列都从上到下递增,在这样一个数组里查找一个数
- 有一个二维数组杨氏矩阵,数组的每行从左到右是递增的,每列从上到下是递增的,在这样的数组中查找一个数字是否存在
- 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N)
- 页面引入jQuery,jQuery-ui,使用时不起效
- 【源码分享下载】每日更新之Android源码之百度云推送
- 谈谈声明式异常和声明式事务
- 如何在 Win8 上禁用 UEFI 安全引导以安装Linux
- java由服务端c/s转向p2p参考 java版qq
- 行递增、列递增的二维数组中查找
- Xcode工具和快捷键
- Encrypt Trail and Extract files
- J2SE之网络编程
- jvm 垃圾收集器详解
- 结构之美:线性表的链式存储结构——链表
- PHP 子串处理
- 韩版女装裙
- 正则之replace的三个小示例