原题
https://leetcode-cn.com/problems/find-kth-largest-xor-coordinate-value/

思路
前缀和,再排序
这里的前缀和需要稍微变换一下盗了大佬两张图


题解
class Solution {
public int kthLargestValue(int[][] matrix, int k) {
int row = matrix.length;
int col = matrix[0].length;
// 向右求异或结果
for (int i = 0; i < row; i++) {
for (int j = 1; j < col; j++) {
matrix[i][j] ^= matrix[i][j-1];
}
}
// 向下求异或结果
for (int i = 1; i < row; i++) {
for (int j = 0; j < col; j++) {
matrix[i][j] ^= matrix[i-1][j];
}
}
List<Integer> list = new ArrayList<>();
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
list.add(matrix[i][j]);
}
}
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
return list.get(k-1);
}
}

本文介绍了一种使用前缀和与排序的方法来解决LeetCode上的一道题目——寻找矩阵中第K大的异或坐标值。通过两次遍历矩阵计算每个元素的异或前缀和,并将所有结果排序,最终返回第K大的值。
363

被折叠的 条评论
为什么被折叠?



