Find Kth Largest XOR Coordinate Value
给一个2d矩阵, 求矩阵每个元素xor后的最大元素.
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 26 27 28 29 |
class Solution { public int kthLargestValue(int[][] matrix, int k) { int n = matrix.length; int m = matrix[0].length; PriorityQueue<Integer> pq = new PriorityQueue(Collections.reverseOrder()); for(int i = 1; i < n; i++) { matrix[i][0] ^= matrix[i - 1][0]; } for(int j = 1; j < m; j++) { matrix[0][j] ^= matrix[0][j - 1]; } for(int i = 1; i < n; i++) { for(int j = 1; j < m; j++) { matrix[i][j] ^= matrix[i - 1][j]; matrix[i][j] ^= matrix[i][j - 1]; matrix[i][j] ^= matrix[i - 1][j - 1]; } } for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { pq.add(matrix[i][j]); } } while(--k != 0){ pq.poll(); } return pq.peek(); } } |