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

Leetcode 3567. Minimum Absolute Difference in Sliding Submatrix

  • Leetcode 3567. Minimum Absolute Difference in Sliding Submatrix
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3567. Minimum Absolute Difference in Sliding Submatrix

1. 解题思路

这一题想了一下,没想到啥好的思路,就是暴力直接求解了一下,直接一个三重循环强行求取了一下答案。

唯一可以谈得上优化的就是在滑动过程中通过控制有序数列的方式来优化临近值的求解。

2. 代码实现

给出python代码实现如下:

class Solution:def minAbsDiff(self, grid: List[List[int]], k: int) -> List[List[int]]:n, m = len(grid), len(grid[0])def get_min_diff(nums):ans = math.infpre = nums[0]for i in range(1, k*k):if nums[i] == pre:continueans = min(nums[i] - pre, ans)pre = nums[i]return ans if ans != math.inf else 0ans = [[0 for _ in range(m-k+1)] for _ in range(n-k+1)]for i in range(n-k+1):nums = sorted([grid[i+t][j] for t in range(k) for j in range(k)])ans[i][0] = get_min_diff(nums)for j in range(m-k):for t in range(k):nums.pop(bisect.bisect_left(nums, grid[i+t][j]))bisect.insort(nums, grid[i+t][j+k])ans[i][j+1] = get_min_diff(nums)return ans

提交代码评测得到:耗时46ms,占用内存18MB。

http://www.xdnf.cn/news/10382.html

相关文章:

  • Spring Boot 全局配置文件优先级
  • 基于springboot的宠物领养系统
  • 本振相参解析(1)2025.6.1
  • 【华为云Astro】从OBS CSV文件获取配置指南
  • 语音数据处理:ueng 与 ong 的统一表示方案
  • Python数据类型详解:从字符串到布尔值,一网打尽
  • Vue-2-前端框架Vue基础入门之二
  • 从单机到集群,再到分布式,再到微服务
  • 【计算机系统结构】习题2
  • 雪花算法:分布式ID生成的优雅解决方案
  • 【2025.06】jupyter notebook 7+ 新手安装、配置、扩展应用(windows篇)
  • 【配置指南】Dify部署超全配置参考手册
  • 类和对象(4)
  • 税法 -2.2- 增值税-允许抵扣的进项税额
  • 零基础安装 Python 教程:从下载到环境配置一步到位(支持 VSCode 和 PyCharm)与常用操作系统操作指南
  • X-MACRO使用技巧
  • linux命令 systemctl 和 supervisord 区别及用法解读
  • 【计算机网络】Linux下简单的UDP服务器(超详细)
  • 鸿蒙OSUniApp PWA开发实践:打造跨平台渐进式应用#三方框架 #Uniapp
  • Android第十二次面试-多线程和字符串算法总结
  • Mac电脑上本地安装 redis并配置开启自启完整流程
  • uni-app学习笔记十九--pages.json全局样式globalStyle设置
  • Langchaine4j 流式输出 (6)
  • NodeJS全栈开发面试题讲解——P2Express / Nest 后端开发
  • B站视频下载器 v1.0.4|免登录下载1080P视频
  • Global Security Markets 第5章知识点总结
  • 字节面试手撕题:版本号排序
  • ReLU的变体
  • 基于ZYNQ ARM+FPGA异构平台的声呐数据采集系统设计
  • Amazon Augmented AI:人类智慧与AI协作,破解机器学习审核难题