algorithm - 如何查找排序矩阵中是否存在数字?

标签 algorithm matrix

<分区>

一个 nxn 整数矩阵,行和列的元素都按非递减顺序排序。验证数组中是否存在数字的最佳方法是什么?例如,如果给定的矩阵是 5x5。

 1  2  3  4  5
 6  7  8  9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

最佳答案

首先通过对第 1 列执行二进制搜索来找到数字必须在的行。如果找不到完全匹配,请找到最接近但小于所需数字的数字。所需的数字必须在该行中。

然后,对该行执行二分查找。您要么找到号码,要么找不到。

关于algorithm - 如何查找排序矩阵中是否存在数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27725986/

相关文章:

c# - 标记通过网站发送的诈骗电子邮件的算法

python - 矩阵的维度不等于相等

c++ - 将数据推回矩阵并使用 imshow 显示该矩阵

python - 从 CSV 文件读取时对数组的数值运算

opencv - 在 Emgucv 或 Opencv 中将多个一维矩阵复制到一个大的一维矩阵中

c++ - 解决类似 Flood-It 难题的最少点击次数

java - int 数组与整数数组的性能

java - 构建 ArrayList<Object[]> 中对象的频率表

python - 尝试在 python 中实现子集总和解决方案的问题

r - 带 R 的 Gram Schmidt