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

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.lryc.cn/news/2397058.html

相关文章:

  • 【LeetCode 题解】两数之和(C++/Python 双解法):从语法到算法的全面解析
  • 【机器学习基础】机器学习入门核心算法:集成学习(Ensemble Learning)
  • 【TMS570LC4357】之相关驱动开发学习记录1
  • RAG入门 - Retriever(1)
  • pyspark实践
  • 内网怎么映射外网ip? 内网的地址快速映射给外网访问用方法
  • 【深度学习新浪潮】多模态模型如何处理任意分辨率输入?
  • ZYNQ移植FreeRTOS和固化和openAMP双核
  • K-匿名模型
  • UE5蓝图暴露变量,在游戏运行时修改变量实时变化、看向目标跟随目标Find Look at Rotation、修改玩家自身弹簧臂
  • C语言进阶知识:深入探索编程的奥秘
  • 机器视觉2D定位引导一般步骤
  • Python-matplotlib中的Pyplot API和面向对象 API
  • FastAPI安全认证:从密码到令牌的魔法之旅
  • 人工智能时代教师角色的重塑与应对策略研究:从理论到实践的转型
  • java对接bacnet ip协议(跨网段方式)
  • LabVIEW超宽带紧凑场测量系统
  • 编译rustdesk,使用flutter、hwcodec硬件编解码、支持Windows 7系统
  • ROS机器人和NPU的往事和新知-250602
  • 【从零开始学习QT】信号和槽
  • MCP调研
  • TDengine 运维——巡检工具(定期检查)
  • 8.7 基于EAP-AKA的订阅转移
  • qwen 2.5 并行计算机制:依靠 PyTorch 和 Transformers 库的分布式能力
  • 调整数据集的方法
  • TCP 四次挥手
  • MSTNet:用于糖尿病视网膜病变分类的多尺度空间感知 Transformer 与多实例学习方法|文献速递-深度学习医疗AI最新文献
  • docker运行程序Killed异常排查
  • 【数学 逆序对 构造】P12386 [蓝桥杯 2023 省 Python B] 混乱的数组|普及+
  • Excel 批量下载PDF、批量下载考勤图片——仙盟创梦IDE