Find Kth Largest XOR Coordinate Value

给一个2d矩阵, 求矩阵每个元素xor后的最大元素.

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();
    }
}