<分区>
一个 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
<分区>
一个 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/