c++ - 二维阵列中的沟槽

标签 c++ c arrays search multidimensional-array

假设有一个nxn数组。如何找到一对索引 i 和 j,使得;

A[i][j] < A[i+1][j], A[i][j] < A[i-1][j], A[i][j] < A[i][j+1],A[i][j] < A[i][j-1]

我能想到的只是一个O(n2)算法,它循环遍历整个数组,并根据给定的条件找到元素。

我们能有更好的解决方案吗?

最佳答案

由于矩阵没有排序,如果不显式检查每个索引至少一次,就不可能确认索引是否存在。

按照这个逻辑,我很确定这个问题的下限应该是O(n^2)

关于c++ - 二维阵列中的沟槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21383024/

相关文章:

c++ - c/c++ 的交互式控制台编程?

arrays - 尝试使数组中的特定索引不再是数组类型

python - 每个元素的高效 numpy 欧氏距离计算

c++ - 在 std::multiset (C++) 中协调 typedef 和结构

java - 让 SWIG 理解 char** 以便在 Java 中使用它

c++ - 字符串初始值设定项和只读部分

c - Windows 控制台中奇怪的显示 EOF 字符

java - 如何将带有分隔符的文本文件读入数组并将数组元素存储在变量中?

c++ - 使用 OS 提供的 API 在 MacOS 上散列

c++ - 错误 : conflicting return type specified, 与平常不同