1738 找出第 K 大的異或座標值

2021-10-17 10:38:55 字數 1190 閱讀 2397

題目描述:

給你乙個二維矩陣 matrix 和乙個整數 k ,矩陣大小為 m x n 由非負整數組成。

矩陣中座標 (a, b) 的 值 可由對所有滿足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下標從 0 開始計數)執行異或運算得到。

請你找出 matrix 的所有座標中第 k 大的值(k 的值從 1 開始計數)。

示例 1:

輸入:matrix = [[5,2],[1,6]], k = 1

輸出:7

解釋:座標 (0,1) 的值是 5 xor 2 = 7 ,為最大的值。

示例 2:

輸入:matrix = [[5,2],[1,6]], k = 2

輸出:5

解釋:座標 (0,0) 的值是 5 = 5 ,為第 2 大的值。

示例 3:

輸入:matrix = [[5,2],[1,6]], k = 3

輸出:4

解釋:座標 (1,0) 的值是 5 xor 1 = 4 ,為第 3 大的值。

示例 4:

輸入:matrix = [[5,2],[1,6]], k = 4

輸出:0

解釋:座標 (1,1) 的值是 5 xor 2 xor 1 xor 6 = 0 ,為第 4 大的值。

m == matrix.length

n == matrix[i].length

1 <= m, n <= 1000

0 <= matrix[i][j] <= 106

1 <= k <= m * n

方法1:

(1)字首和+優先佇列;

class

solution

}for

(int i=

1;i.size()

;++i)

}//逐個計算後面的值

for(

int i=

1;isize()

;++i)}}

return q.

top();

//返回堆頂的元素,即為第 k 大的值}}

;

5663 找出第 K 大的異或座標值

5663.找出第 k 大的異或座標值 給你乙個二維矩陣 matrix 和乙個整數 k 矩陣大小為 m x n 由非負整數組成。矩陣中座標 a,b 的 值 可由對所有滿足 0 i a m 且 0 j b n 的元素 matrix i j 下標從 0 開始計數 執行異或運算得到。請你找出 matrix ...

找出第k大的數

問題 從乙個陣列裡面,找出第k大的數。題目很簡單,要想把第k個數找出來,其實也挺容易的。第一種方法 無非就是先排序,比如用merge sort演算法,整個演算法複雜度為 o nlgn 然後找到第k個即可。第二種方法 如果k很小,比如第五個最大的數,而整個陣列的長度非常的大,那麼,還有一種方法就是,我...

找出第k大的數

描述 使用者輸入n和k,然後接著輸入n個正整數 無序的 程式在不對n個整數排序的情況下,找出第k大的數。注意,第k大的數意味著從大到小排在第k位的數。輸入 n ka1 a2 a3 a4 an輸出 b輸入示例 5 232 3 12 5 89輸出示例 32提示 這是一道很經典的演算法問題,是公司面試的常...