Matrix 在给定的nxn矩阵中查找第n个最大数
对于给定的nxn矩阵,行被排序,我们需要找到给定的最大数。 通过使用“每行在给定矩阵中排序”功能。Plzz帮助我编写一个优化的逻辑 例: 假设我们有一个3x3矩阵,其中行被排序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
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个数字。