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

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.dtcms.com/a/289847.html

相关文章:

  • 16.TaskExecutor启动
  • Windows批量修改文件属性方法
  • pyhton基础【27】课后拓展
  • 【华为机试】169. 多数元素
  • C++ STL中迭代器学习笔记
  • day057-docker-compose案例与docker镜像仓库
  • 元学习算法的数学本质:从MAML到Reptile的理论统一与深度分析
  • Vision Transformer (ViT) 介绍
  • 面试高频题 力扣 417. 太平洋大西洋水流问题 洪水灌溉(FloodFill) 深度优先遍历(dfs) 暴力搜索 C++解题思路 每日一题
  • 使用unsloth模型微调过程
  • 软件反调试(5)- 基于注册表实时调试器检测
  • MYSQL:从增删改查到高级查询
  • 数据结构-线性表的链式表示
  • 《P3398 仓鼠找 sugar》
  • 【1】YOLOv13 AI大模型-可视化图形用户(GUI)界面系统开发
  • 【实证分析】会计稳健性指标分析-ACF、CScore、Basu模型(2000-2023年)
  • MySQL锁(二) 共享锁与互斥锁
  • Filter快速入门 Java web
  • Compose笔记(三十七)--FilterChip
  • TVLT:无文本视觉-语言Transformer
  • c++ duiLib 显示一个简单的窗口
  • AMD处理器 5700G 矿卡RX580-8G 打英雄联盟怎么样
  • 洛谷 P10287 [GESP样题 七级] 最长不下降子序列-普及/提高-
  • 《P2680 [NOIP 2015 提高组] 运输计划》
  • 【66】MFC入门到精通——(CComboBox)下拉框选项顺序与添加顺序不一致
  • 前端静态资源免费cdn服务推荐
  • Dify极简部署手册
  • 30天打好数模基础-逻辑回归讲解
  • 7-大语言模型—指令理解:指令微调训练+模型微调
  • 【算法训练营Day15】二叉树part5