leetcode 1233. 删除子文件夹

2023-10-29

1233. 删除子文件夹

难度中等142

你是一位系统管理员,手里有一份文件夹列表 folder,你的任务是要删除该列表中的所有 子文件夹,并以 任意顺序 返回剩下的文件夹。

如果文件夹 folder[i] 位于另一个文件夹 folder[j] 下,那么 folder[i] 就是 folder[j] 的 子文件夹 。

文件夹的「路径」是由一个或多个按以下格式串联形成的字符串:'/' 后跟一个或者多个小写英文字母。

  • 例如,"/leetcode" 和 "/leetcode/problems" 都是有效的路径,而空字符串和 "/" 不是。

 

示例 1:

输入:folder = ["/a","/a/b","/c/d","/c/d/e","/c/f"]
输出:["/a","/c/d","/c/f"]
解释:"/a/b" 是 "/a" 的子文件夹,而 "/c/d/e" 是 "/c/d" 的子文件夹。

示例 2:

输入:folder = ["/a","/a/b/c","/a/b/d"]
输出:["/a"]
解释:文件夹 "/a/b/c" 和 "/a/b/d" 都会被删除,因为它们都是 "/a" 的子文件夹。

示例 3:

输入: folder = ["/a/b/c","/a/b/ca","/a/b/d"]
输出: ["/a/b/c","/a/b/ca","/a/b/d"]

 

提示:

  • 1 <= folder.length <= 4 * 104
  • 2 <= folder[i].length <= 100
  • folder[i] 只包含小写字母和 '/'
  • folder[i] 总是以字符 '/' 起始
  • 每个文件夹名都是 唯一 的
function removeSubfolders(folder) {
    folder.sort();

    const ans = [folder[0]];
    let pf = folder[0] + '/';

    for (let i = 1; i < folder.length; i++) {
        if (!folder[i].startsWith(pf)) {
            ans.push(folder[i]);
            pf = folder[i] + '/';
        }
    }

    return ans;
};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

leetcode 1233. 删除子文件夹 的相关文章

随机推荐

  • MySQL数据库实现本地数据库和远程服务器数据库数据同步

    项目中有两个数据库 本地数据库和远程服务器数据库 数据要在本地经过数据洗涤后才传上服务器数据库 之前用的Navicat工具 但是速度慢 且无法设置定时同步 后来改用Datax 它的效率真的非常高 DataX 是阿里巴巴集团内被广泛使用的离线
  • 大语言模型未来会是数据工程吗

    作者 养生的控制人 整理 NewBeeNLP https zhuanlan zhihu com p 654959483 大家好 这里是 NewBeeNLP 分享符尧博士关于大语言模型的数据工程方面的一些见解 原文链接 1 take home
  • Docker基础篇6:Dockerfile指令(1)

    1 Dockerfile指令 1 FROM指令 构建的新镜像是基于那个镜像 例如 FROM centos 7 2 MAINTAINER指令 镜像维护者姓名或者邮件地址 3 RUN指令 构建镜像时运行的shell命令 写法一 RUN yum
  • vue 获取 指定元素的高度宽度等(使用vue中的 ref 获取到的是 dom 元素高度或者宽度)

    使用 vue 的时候 想要获得一个指定的元素的高度时 可以使用 vue 中的 ref 当 ref 加在普通的元素上 使用 this ref name 获取到的是 dom 元素 示例 写在 页面 html 部分的 div div 写在 页面
  • 从零开始搭二维激光SLAM --- Hector论文公式推导与相关代码解析

    这篇文章将带领大家推导一下hector slam论文中的公式 之后再对这部分公式对应的代码进行讲解下 markdown打公式太费劲了 所以我用手写了 懒 然后csdn又限制了图片文件大小 我是照完照片又截图才传上来的 所以图片有点不清晰 1
  • 实现最小栈

    题目要求 实现一个栈 要求实现Push 出栈 Pop 入栈 Min 返回最小值的操作 的时间复杂度为O 1 首先针对这道题有多重解决方案 1 定义两个栈 一个正常栈 另一个栈的栈顶始终保存整个栈内的最小值 思路如下 无论Push什么数据 正
  • BGI::detail::content用法详解及示例代码

    BGI detail content用法详解及示例代码 在C C 编程中 BGI Borland Graphics Interface 是一个用于图形绘制的库 它提供了一系列函数和工具 使开发者能够在DOS和Windows环境下创建图形界面
  • NumPy——输出向量和矩阵

    微信公众号 龙跃十二 我是小玉 一个平平无奇的小天才 我们都知道 NumPy是python学习和机器学习中非常重要的库 我们在学习过程中不可避免的使用到这个库 NumPy是Python中科学计算的基础包 它提供多维数组对象 各种派生对象 如
  • 一文搞懂Python的文件路径操作

    如果你要在代码里读取一个文件 那么你首先要知道这个文件的路径 如果只有一个文件 那么很简单 直接复制这个文件所在的文件夹路径及其文件名即可 而在很多情况下 我们会处理大量的文件 这些文件一般都会按一定的规则存放在一个或几个文件夹里 本文便是
  • cesium timeline时间改为系统时间(北京时间) vue版本

    效果图 初始化三维球后 追加如下代码 修改timeline时间 从珠联时间改为北京时间 initGlobel 省略初始化 this viewer animation viewModel dateFormatter this DateTime
  • linux卸载openjdk并安装jdk

    1 java version 查看是否安装 2 查看有哪些java安装文件 3 开始卸载 卸载掉下面两个 java version查看找不到java版本 就说明卸载成功了 如果卸掉下面两个还能看到java版本的话 就可以把第一个和第二个一起
  • python中字符串大小写判断和转换函数(upper,lower,capitalize,istitle)

    S为一字符串 可以使用python的内建函数对S中的字母大小写做判断和改变 supper lower和capitalize是转换函数 可以把字符串中的字母做相应的处理 istitle isupper和islower是判断函数 它们对字符串做
  • opencv+mfc搭建框架

    环境 vs2012 opencv2 49 功能 加载图片 保存 二值化 放大 缩小 旋转 实现方法 用opencv来实现相应的图像处理功能 用mfc的对话框来搭建框架 难点 在Mfc框架下显示图片 解决办法 根据父窗口与子窗口的关系 将op
  • VuforiaAR扫描3d物体

    Unity版本为2020 3 20 Vuforia版本为9 6 3 有偿demo 链接 https pan baidu com s 1YlmKeMWvMFRYPhieP3OrqQ 3D物体数据扫描 安卓机扫描3D物体的Scanner工具包下
  • C#的线性规划代码

    using System using System Collections Generic using System Linq using System Text using System Threading Tasks namespace
  • C语言实现RAND函数的方法

    C语言使用rand 一个值就可以实现生成一个伪随机数供我们使用 那么rand函数是如何实现的呢 我们自己可不可以编辑出来 其实是可以的 rand作为伪随机数发生器产生的是一个伪随机数 一般的用途能够满足 要想实现这个函数 需要用一个公式 x
  • Springboot使用Thymeleaf模板引擎无法加载css样式等静态资源

    我的项目文件目录如下 在使用thymeleaf模板引擎时访问不到css样式文件如下 其原因是Thymeleaf模板引擎引用文件需要按照规定的写法 如下 需使用th href属性 路径需使用 文件路径 包裹 加上后就可以看见样式了
  • 报表的发布

    各种不同的报表工具 其发布方式是不一样的 现在说说一些报表工具的发布方式 笔者对报表了解不多 可能有些认识上的错误 望大家指明 DevExpress公司出品的报表工具 XtraReport 它的报表设计器就是集成在VS NET集成开发环境中
  • 简单了解JVM 组成以及各部分

    简单介绍JVM各组成部分 图1 JVM组成部分 JVM包含两个子系统和两个组件 两个子系统 类加载子系统 Class loader 和执行引擎 Execution engine 两个组件 运行时数据区 Runtime data area 本
  • leetcode 1233. 删除子文件夹

    1233 删除子文件夹 难度中等142 你是一位系统管理员 手里有一份文件夹列表 folder 你的任务是要删除该列表中的所有 子文件夹 并以 任意顺序 返回剩下的文件夹 如果文件夹 folder i 位于另一个文件夹 folder j 下