当前位置: 首页 > news >正文

力扣:1738. 找出第 K 大的异或坐标值

1738. 找出第 K 大的异或坐标值

给你一个二维矩阵 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

class Solution {public int kthLargestValue(int[][] matrix, int k) {// Queue<Integer> que = new PriorityQueue<>();List<Integer> ans = new ArrayList<>();int[][] dp = new int[matrix.length][matrix[0].length];//dp数组含义为当前位置的异或值dp[0][0] = matrix[0][0];for(int i = 0;i < matrix.length;i++){for(int j = 0;j < matrix[0].length;j++){dp[i][j] = matrix[i][j];//当前位置值if(i!=0)dp[i][j] ^= dp[i-1][j];//如果不处于上边界,则需要异或上方的值if(j!=0)dp[i][j] ^= dp[i][j-1];//如果不处于左边界,则需要异或左方的值if(i!=0&&j!=0)dp[i][j] ^= dp[i-1][j-1];//当都不处于时,要异或左上方值来抵消之前多异或的一次ans.add(dp[i][j]);}}Collections.sort(ans);//排序来找第K大return ans.get(ans.size()-k);//// while(que.size()>k){//优先队列找第K大//     que.poll();// }// return que.poll();}
}

http://www.lryc.cn/news/353761.html

相关文章:

  • Keras深度学习框架第二十讲:使用KerasCV中的Stable Diffusion进行高性能图像生成
  • C/C++ vector详解
  • 使用libtorch加载YOLOv8生成的torchscript文件进行目标检测
  • Oracle 并行和 session 数量的
  • Android 版本与 API level 以及 NDK 版本对应
  • 护网经验面试题目原版
  • ipa 覆盖算法测试
  • linuxwindows硬件信息midecod和wmic命令
  • 03. SpringBoot 整合 Redis
  • 01-Linux【准备篇】
  • 在IDEA中配置servlet(maven配置完成的基础下)
  • pyqt6水平布局
  • CLIP论文学习
  • 手把手教大家,怎么查看抖音小店的类目保证金?
  • 5.24作业
  • Linux之LLVM、Clang、Clang++区别及用法实例(六十五)
  • CentOS7 安装 Mysql 5.7:密码查看与修改、更改端口、开机启动
  • 专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(十三)
  • linux替换文件中的字符串
  • 【前端每日基础】day22——js控制结构
  • npm详解
  • ChatGPT-4o 实战 如何快速分析混淆加密和webpack打包的源码
  • 自然资源-各级国土空间总体规划的审查要点及流程总结
  • 电表远传抄表是什么?
  • 【简明指南:Python中的异常处理与稳健代码设计】
  • STM32—HAL-PWM-舵机180(每个频率对应每个角度)
  • MyBatis详细教程!!(入门版)
  • c++ using 关键字
  • AIGC时代算法工程师的面试秘籍(2024.4.29-5.12第十三式) |【三年面试五年模拟】
  • Docker Portainer使用