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

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 开始计数)。

思路:

用一个二维列表s记录所有“矩阵中坐标 (a, b) 的 值”,设s[i+1][j+1]表示左上角矩阵(0,0)至(i,j)的异或和,那么如下图所示为例:

可得公式:

s[i+1][j+1] = s[i][j+1] \oplus s[i+1][j] \oplus s[i][j] \oplus matrix[i][j]

代码如下:

class Solution:def kthLargestValue(self, matrix: List[List[int]], k: int) -> int:m = len(matrix)n = len(matrix[0])s = [[0] * (n+1) for _ in range(m+1)]for i in range(0, m):for j in range(0, n):s[i+1][j+1] = s[i][j+1] ^ s[i+1][j] ^ s[i][j] ^ matrix[i][j]s_ = [item for row in s for item in row]   # 展成一维列表s_.sort()   # 排序return s_[-k]   # 返回第k大的值

提交通过:

 

 

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

相关文章:

  • Fortran: stdlib标准库
  • CSS3优秀动画代码示例
  • 嵌入式0基础开始学习 ⅠC语言(4)循环结构
  • 【JAVASE】抽象类
  • 嵌入式硬件中PCB走线与过孔的电流承载能力分析
  • 动态规划之背包问题中如何确定遍历顺序的问题-组合or排列?
  • 开源大模型与闭源大模型
  • python+selenium - UI自动框架之封装查找元素
  • java 拦截器-用户无操作超时退出利用Redis
  • 民国漫画杂志《时代漫画》第16期.PDF
  • 线程池以及日志类的实现
  • 基于长短期记忆网络 LSTM 的送餐时间预测
  • K-means聚类算法详细介绍
  • SAP FS00如何导出会计总账科目表
  • ROS参数服务器
  • QCC---DFU升级变更设备名和地址
  • [力扣题解] 695. 岛屿的最大面积
  • AI模型发展路径探析:开源与闭源,何者更胜一筹?
  • concurrency 并行编程
  • JavaScript如何让一个按钮的点击事件在完成之前禁用
  • 透视App投放效果,Xinstall助力精准分析,让每一分投入都物超所值!
  • 【Linux杂货铺】进程通信
  • 常用API(正则表达式、爬取、捕获分组和非捕获分组 )
  • JVM学习-Class文件结构②
  • 数据库连接项目
  • MySQL--InnoDB体系结构
  • ffplay 使用文档介绍
  • 四种网络IO模型
  • Mixed-precision计算原理(FP32+FP16)
  • Go 控制协程(goroutine)的并发数量