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

成都网站建设定找人做网站应该注意什么

成都网站建设定,找人做网站应该注意什么,软件工程课程,大气腐蚀网站建设【LetMeFly】1487.保证文件名唯一 力扣题目链接#xff1a;https://leetcode.cn/problems/making-file-names-unique/ 给你一个长度为 n 的字符串数组 names 。你将会在文件系统中创建 n 个文件夹#xff1a;在第 i 分钟#xff0c;新建名为 names[i] 的文件夹。 由于两个…【LetMeFly】1487.保证文件名唯一 力扣题目链接https://leetcode.cn/problems/making-file-names-unique/ 给你一个长度为 n 的字符串数组 names 。你将会在文件系统中创建 n 个文件夹在第 i 分钟新建名为 names[i] 的文件夹。 由于两个文件 不能 共享相同的文件名因此如果新建文件夹使用的文件名已经被占用系统会以 (k) 的形式为新文件夹的文件名添加后缀其中 k 是能保证文件名唯一的 最小正整数 。 返回长度为 n 的字符串数组其中 ans[i] 是创建第 i 个文件夹时系统分配给该文件夹的实际名称。 示例 1 输入names [pes,fifa,gta,pes(2019)] 输出[pes,fifa,gta,pes(2019)] 解释文件系统将会这样创建文件名 pes -- 之前未分配仍为 pes fifa -- 之前未分配仍为 fifa gta -- 之前未分配仍为 gta pes(2019) -- 之前未分配仍为 pes(2019)示例 2 输入names [gta,gta(1),gta,avalon] 输出[gta,gta(1),gta(2),avalon] 解释文件系统将会这样创建文件名 gta -- 之前未分配仍为 gta gta(1) -- 之前未分配仍为 gta(1) gta -- 文件名被占用系统为该名称添加后缀 (k)由于 gta(1) 也被占用所以 k 2 。实际创建的文件名为 gta(2) 。 avalon -- 之前未分配仍为 avalon示例 3 输入names [onepiece,onepiece(1),onepiece(2),onepiece(3),onepiece] 输出[onepiece,onepiece(1),onepiece(2),onepiece(3),onepiece(4)] 解释当创建最后一个文件夹时最小的正有效 k 为 4 文件名变为 onepiece(4)。示例 4 输入names [wano,wano,wano,wano] 输出[wano,wano(1),wano(2),wano(3)] 解释每次创建文件夹 wano 时只需增加后缀中 k 的值即可。 示例 5 输入names [kaido,kaido(1),kaido,kaido(1)] 输出[kaido,kaido(1),kaido(2),kaido(1)(1)] 解释注意如果含后缀文件名被占用那么系统也会按规则在名称后添加新的后缀 (k) 。提示 1 names.length 5 * 10^41 names[i].length 20names[i] 由小写英文字母、数字和/或圆括号组成。 方法一哈希 使用一个哈希表或者说字典记录名字“xxx”下次该被重命名到几。 例如“hello”被重命名到了“hello(2)”那么哈希表中[hello]对应的值就为“3” 然后我们遍历名字列表names从哈希表中记录的“应该开始的数字”开始尝试命名若新名字已存在则尝试从下一个数字开始命名直到找到一个还未被占用过的名字为止。 时间复杂度O(N)O(N)O(N)其中NNN是名字列表中所有名字的字母个数之和。内层循环总次数不超过len(names)len(names)len(names)空间复杂度O(N)O(N)O(N) AC代码 C class Solution { private:string nameAndSuffix(string name, int suffix) {if (suffix) {return name ( to_string(suffix) );}else {return name;}} public:vectorstring getFolderNames(vectorstring names) {unordered_mapstring, int ma;vectorstring ans;for (string name : names) {if (!ma.count(name)) {ans.push_back(name);ma[name] 1;}else {int times ma[name];string newName nameAndSuffix(name, times);while (ma.count(newName)) {newName nameAndSuffix(name, times);}ans.push_back(newName);ma[name] times 1;ma[newName] 1;}}return ans;} };Python # from typing import Listclass Solution:def nameAndSuffix(self, name: str, suffix: int) - str:if not suffix:return nameelse:return name ( str(suffix) )def getFolderNames(self, names: List[str]) - List[str]:ma {}ans []for name in names:if name not in ma:ans.append(name)ma[name] 1else:times ma[name]newName self.nameAndSuffix(name, times)while newName in ma:times 1newName self.nameAndSuffix(name, times)ans.append(newName)ma[name] times 1ma[newName] 1return ans同步发文于CSDN原创不易转载请附上原文链接哦~ Tisfyhttps://letmefly.blog.csdn.net/article/details/129317690
http://www.hkea.cn/news/14468411/

相关文章:

  • 0基础网站建设教程义乌婚介网站建设
  • 域名服务网站建设科技公司网站开发技术三大件
  • 微信开发网站建设诗敏家具网站是谁做的
  • 网站值不值得做seo开发商交房必须具备的条件
  • 档案网站建设存在的问题建个网站需要多少钱?
  • 学校网站 网站建设广州市建设工程招标管理办公室网站
  • 关于网站集约化建设公函每平每屋设计家官网
  • 宣传类的网站怎么做怎么制作个人网页
  • 网站建设的目的与意义是什么意思网站设计 线框图
  • 做论坛网站怎么样备案免费咨询服务协议合同范本
  • 浏阳网站制作公司海外seo托管
  • 淘宝客网站一定要备案广告网站设计哪家快
  • 专业网站建设在哪里做什么网站最赚钱
  • 天津行业建站赣州网站建设培训
  • 自己怎么建个网站赚钱房地产企业网站建设
  • 企业网站制作开发搜索引擎营销的原理
  • 登封网站开发免费外贸接单网站
  • 如何做印刷报价网站怎么让人搜索到自己做的网站
  • 鲨鱼座 网站建设画册设计步骤
  • 目前做那些网站能致富wordpress播放直播
  • 手机商城网站模板seo优化排名易下拉程序
  • 暖色调网站欣赏wordpress 播放大视频播放
  • 淄博北京网站建设天河区门户网站官网
  • 手机能看的网站装修网站建设摘要
  • 网站建设管理考核办法注册公司注册资金要实缴吗
  • 网站如果不备案吗做电影网站收入
  • 网站推广营销收费网址大全实用网址
  • 网站建设合同附件wordpress 弹窗注册登录
  • 秦皇岛网站关键词推广贵州企业网站开发公司
  • 有什么做h5的网站wordpress 无广告视频