Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matrix 在给定的nxn矩阵中查找第n个最大数_Matrix - Fatal编程技术网

Matrix 在给定的nxn矩阵中查找第n个最大数

Matrix 在给定的nxn矩阵中查找第n个最大数,matrix,Matrix,对于给定的nxn矩阵,行被排序,我们需要找到给定的最大数。 通过使用“每行在给定矩阵中排序”功能。Plzz帮助我编写一个优化的逻辑 例: 假设我们有一个3x3矩阵,其中行被排序 3 50 92 59 84 90 9 65 74 findhigestNum(4) ---> 59 findhigestNum(5) ----> 65 你需要哪种语言?我看不出矩阵中的数据更容易找到第n个最大的数字。将所有数字按降序排序并选择第n个数字可以在O(n log(n

对于给定的nxn矩阵,行被排序,我们需要找到给定的最大数。 通过使用“每行在给定矩阵中排序”功能。Plzz帮助我编写一个优化的逻辑

例: 假设我们有一个3x3矩阵,其中行被排序

  3   50  92
  59  84  90
  9   65  74

findhigestNum(4) --->  59
findhigestNum(5) ----> 65

你需要哪种语言?我看不出矩阵中的数据更容易找到第n个最大的数字。将所有数字按降序排序并选择第n个数字可以在O(n log(n))时间复杂度内完成,这似乎很难击败。@DaveDurbin,每一行都已排序。这应该对某种选择算法有所帮助。但请注意,如果使用正确的算法排序,则在n个元素的未排序列表中查找第k个数字是O(n),而不是O(n logn)。查找“选择算法”。当每一行都被排序时,这不会告诉你一行的相对内容。考虑4x4矩阵[1,2,6;10;1,3,7,11;1 4 8 12;12α],包含第n个最高数的行是[[*2],你必须检查每一个数字来确定这一点。i、 行被排序的事实不会让你得到更快的答案。好的一点是:在未排序的列表中查找第k个数字。