我有一个Nx2矩阵(称之为A)和一个数字K.我需要找到该行,使得第一列中的值为最大值,第二列中的值为< ķ
即。 Max i A [i,1] s.t. A [i,2]< ķ
我需要提取O(log N)或更好的值,不包括任何涉及的预处理,即可以在搜索元素之前对矩阵进行排序。
答案 0 :(得分:0)
按第二列排序矩阵A
遍历矩阵并将从开始到当前行的最大值索引写入辅助阵列B
对于每个查询 - 通过第二列的二进制搜索找到最大行imax
,并从行A[B[imax]]
的第一个和第二个单元格中获取值