一建 建设网站首页,梵克雅宝官网报价,做服务网站要多少钱,提高工作效率的措施给你一个长度为 n 的字符串数组 names 。你将会在文件系统中创建 n 个文件夹#xff1a;在第 i 分钟#xff0c;新建名为 names[i] 的文件夹。
由于两个文件 不能 共享相同的文件名#xff0c;因此如果新建文件夹使用的文件名已经被占用#xff0c;系统会以 (k) 的形式为新…给你一个长度为 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)”
代码
class Solution {public String[] getFolderNames(String[] names) {int nnames.length,i0;String[] resnew String[n];MapString,Integer mapnew HashMap();for(String s:names){if(map.containsKey(s)) {int tempmap.get(s);while (map.containsKey(s(temp)))//找出未被使用的后缀temp;String ts(temp);res[i]t;map.put(t,1);//记录文件名map.put(s,temp);//更新后缀} else {res[i]s;map.put(s,1);//记录文件名} i;}return res;}
}