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

1948. 删除系统中的重复文件夹

1948. 删除系统中的重复文件夹 - 力扣(LeetCode)

class TrieNode:__slots__ = 'son','name','deleted'def __init__(self):self.son = {}self.name = ''self.deleted = False
class Solution:def deleteDuplicateFolder(self, paths: List[List[str]]) -> List[List[str]]:root = TrieNode()for path in paths:cur = rootfor s in path:if s not in cur.son:cur.son[s] = TrieNode()cur = cur.son[s]cur.name = sexpr_to_node = {}def gen_expr(node: TrieNode)->str:if not node.son:return node.nameexpr = sorted('(' + gen_expr(son) + ')' for son in node.son.values())sub_tree_expr = ''.join(expr)if sub_tree_expr in expr_to_node:expr_to_node[sub_tree_expr].deleted = Truenode.deleted = Trueelse:expr_to_node[sub_tree_expr] = nodereturn node.name + sub_tree_exprfor son in root.son.values():gen_expr(son)ans = []path = []def dfs(node:TrieNode)->None:if node.deleted:returnpath.append(node.name)ans.append(path.copy())for child in node.son.values():dfs(child)path.pop()for son in root.son.values():dfs(son)return ans

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

相关文章:

  • 定点小数与分数
  • langchain调用本地ollama语言模型和嵌入模型
  • 线程状态线程安全
  • gradle微服务依赖模版
  • 软件反调试(5)- 基于注册表实时调试器检测
  • [Python] -项目实战7- 用Python和Tkinter做一个图形界面小游戏
  • 我的世界-推理
  • 基于Event Sourcing和CQRS的微服务架构设计与实战
  • 连接语言大模型(LLM)服务进行对话
  • 随着GPT-5测试中泄露OpenAI 预计将很快发布 揭秘GPT-5冲击波:OpenAI如何颠覆AI战场,碾压谷歌和Claude?
  • [硬件电路-58]:根据电子元器件的控制信号的类型分为:电平控制型和脉冲控制型两大类。
  • 威力导演 12:革新级影音创作平台——专业特效与极致效率的完美融合
  • 算法题(176):three states
  • 100个GEO基因表达芯片或转录组数据处理27 GSE83456
  • [simdjson] 实现不同CPU调度 | 自动硬件适配的抽象
  • JAVA面试宝典 -《API设计:RESTful 与 GraphQL 对比实践》
  • Linux操作系统之线程(四):线程控制
  • RabbitMQ核心组件浅析:从Producer到Consumer
  • 【Django】DRF API版本和解析器
  • ubuntu-linux-pycharm-社区版安装与django配置
  • 高性能熔断限流实现:Spring Cloud Gateway 在电商系统的实战优化
  • Linux网上邻居局域网络共享工具Samba及Smb协议,smbd,nmbd服务,smbpasswd,pdbedit命令,笔记250720
  • 数组算法之【合并两个有序数组】
  • 无线通信相关概念
  • 【机器学习深度学习】魔塔社区模型后缀全解析:Base、Chat、Instruct、Bit、Distill背后的技术密码
  • 【Elasticsearch】冷热集群架构
  • 力扣 hot100 Day50
  • 在Ubuntu22系统上离线部署ai-infra-guard教程【亲测成功】
  • windows C#-本地函数
  • 【计算机组成原理】原码、补码和移码