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

(LeetCode 每日一题) 1233. 删除子文件夹 (排序)

题目:1233. 删除子文件夹

在这里插入图片描述
在这里插入图片描述

思路:排序,时间复杂度0(L*nlogn)。

文件夹a的子文件b,b字符串字典序列一定是大于a的,所以直接将字符串数组folder升序排序。每次只需判断当前字符串,是否是父文件夹数组v最后一个字符串的子文件夹即可,细节看注释。

C++版本:

class Solution {
public:// 判断a是否是b的前缀,且b[a.size()]=='/'bool check(string a,string b){if(a.size()>b.size()) return false;for(int i=0;i<a.size();i++){if(a[i]!=b[i]) return false;}if(b.size()>a.size() &&b[a.size()]=='/') return true;return false;}vector<string> removeSubfolders(vector<string>& folder) {// 升序sort(folder.begin(),folder.end());// 答案:父文件夹数组vector<string> v;v.push_back(folder[0]);for(int i=1;i<folder.size();i++){string last=v.back();string t=folder[i];// 判断last是否是t的前缀,且t[last.size()]=='/'if(check(last,t)==false){v.push_back(t);}}return v;}
};

JAVA版本:

class Solution {boolean check(String a,String b){if(a.length()>b.length()) return false;for(int i=0;i<a.length();i++){if(a.charAt(i)!=b.charAt(i)) return false;}if(b.length()>a.length() &&b.charAt(a.length())=='/') return true;return false;}public List<String> removeSubfolders(String[] folder) {Arrays.sort(folder);List<String> v = new ArrayList<>();v.add(folder[0]);for(int i=1;i<folder.length;i++){String last=v.getLast();String t=folder[i];if(check(last,t)==false){v.add(t);}}return v;}
}

GO版本:

func removeSubfolders(folder []string) []string {slices.Sort(folder)v:=[]string{folder[0]}for i:=1;i<len(folder);i++ {last:=v[len(v)-1]t:=folder[i]if check(last,t)==false {v=append(v,t)}}return v
}
func check(a,b string) bool {if len(a)>len(b) {return false}for i,_:=range a {if a[i]!=b[i] {return false}}if len(b)>len(a) && b[len(a)]=='/' {return true}return false
}
http://www.dtcms.com/a/287388.html

相关文章:

  • TCP/UDP协议深度解析(四):TCP的粘包问题以及异常情况处理
  • 7.19 换根dp | vpp |滑窗
  • 医养照护与管理实训基地建设:创新模式与突破路径
  • 扭蛋机系统开发:打造多元化娱乐生态的新引擎
  • 响应式单位rpx及搭配使用UI产品工具
  • Ambiguity-Resolved Waveform Design for Cell-free OFDM-Based ISAC Systems
  • 【MySQL笔记】视图
  • 力扣 hot100 Day49
  • day25 力扣90.子集II 力扣46.全排列 力扣47.全排列 II
  • 二、环境搭建之CentOS安装Docker
  • GitHub:只支持 Git 作为唯一的版本库格式进行托管
  • 二分查找-69.x的平方根-力扣(LeetCode)
  • 安装单机版本Redis
  • 电商商品综合排序:从需求分析到实时计算的全方位指南
  • 初识Redis---Redis的特性介绍
  • GM-3568JHF vs 普通 RK3568 开发板 — 工业应用对比文案
  • 学习 Python 爬虫需要哪些基础知识?
  • 3516cv610 npu 开发典型功能点的介绍
  • Azure Bicep 是什么?
  • leetcode_121 买卖股票的最佳时期
  • AWS Partner: Accreditation (Technical)
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 57(题目+回答)
  • QT动态加载动态库 QLibrary
  • 从车险理赔到快递签收:打通区块链与现实世界的“最后一公里”——解密预言机(Oracle)
  • aws(学习笔记第四十九课) ECS集中练习(1)
  • 基于深度学习的推荐系统:从协同过滤到神经网络
  • Java机考题:815. 公交路线 图论BFS
  • OpenCV 官翻7 - 对象检测
  • 用户中心——比如:腾讯的QQ账号可以登录到很多应用当中 02
  • Vue 3 中导出 Excel 文件