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

一天两道力扣(3)

解法一:

class Solution(object):def invertTree(self, root):if not root:return Noneroot.left, root.right = root.right, root.leftself.invertTree(root.right)self.invertTree(root.left)return root

解析:递归

解法二:

class Solution(object):def invertTree(self, root):if not root:return Nonequeue = [root]while queue:tmp = queue.pop(0)tmp.left, tmp.right = tmp.right, tmp.leftif tmp.left:queue.append(tmp.left)if tmp.right:queue.append(tmp.right)return root

解析:从上往下依次将当下根节点放入队列中,然后交换其左右节点 

class Solution(object):def maximalSquare(self, matrix):m, n = len(matrix), len(matrix[0])dp = [[0] * (n +1) for _ in range(m + 1)]ans = 0for i in range(m):for j in range(n):if matrix[i][j] == "1":dp[i + 1][j +1] = min(dp[i][j], dp[i + 1][j], dp[i][j + 1]) + 1if dp[i + 1][j +1] > ans:ans = dp[i + 1][j +1]return ans ** 2

解析:典型动态规划,状态转移公式dp[i+1][j+1]=min(dp[i][j],dp[i+1][j],dp[i][j+1])+1

 

 

http://www.dtcms.com/a/271565.html

相关文章:

  • 减少空间占用的生成模型实战与推理资源消耗量化对比
  • CTFHub————Web[信息泄露(目录遍历、PHPINFO)]
  • Windows Subsystem for Linux (WSL):现代开发的终极跨平台方案
  • 【Modern C++ Part7】_创建对象时使用()和{}的区别
  • 计算机嵌入式基础
  • SpringCache整合SpringBoot使用
  • 洛谷P1044 栈(学习向)
  • Unity Demo-3DFarm详解-其一
  • TCP协议格式与连接释放
  • 智能Agent场景实战指南 Day 8:销售助手Agent开发实战
  • 25春云曦期末考复现
  • “上下文工程”领域的部分参考资料
  • vue中v-for与v-if的优先级
  • 在已有 Nexus3 的基础上搭建 Docker 私有镜像仓库
  • 如何降低AIGC的有效策略是什么?降AIGC工具的创新与应用前景
  • 如何识别SQL Server中需要添加索引的查询
  • 3 STM32单片机-delay延时驱动
  • langchain从入门到精通(四十)——函数调用技巧与流程
  • 什么是公链?
  • 如何通过配置gitee实现Claude Code的版本管理
  • huggingface 笔记: Trainer
  • 期权盘位是什么意思?
  • 一级缓存与二级缓存深度剖析:作用域、配置与同步方案全解析
  • Unreal Engine 自动设置图像
  • 基于OpenCV的实时人脸检测系统实现指南 ——Python+Haar级联分类器从环境搭建到完整部署
  • 【PTA数据结构 | C语言版】线性表循环右移
  • AI进化论03:达特茅斯会议——AI的“开宗立派”大会
  • 【王阳明代数讲义】心气微积分西方体系汇流历史考述
  • Agent AI(1):多模态交互智能中的背景和动机
  • 2025快手创作者中心发布视频python实现