# 1487. Making File Names Unique ###### tags: `Leetcode` `Medium` `Microsoft` Link: https://leetcode.com/problems/making-file-names-unique/ ## 思路 有点麻烦的一道题 基本上是把所有出现过的名字都存成map key,val是下一个available的index,然后一个一个试这个index可不可用 **要注意怎么把list of string变成string array ```ans.toArray(new String[0])```** ## Code ```java= class Solution { public String[] getFolderNames(String[] names) { Map<String, Integer> map = new HashMap<>(); List<String> ans = new ArrayList<>(); for(String name:names){ if(map.containsKey(name)){ int val = map.get(name); StringBuilder sb = new StringBuilder(name); sb.append('('); sb.append(val); sb.append(')'); while(map.containsKey(sb.toString())){ val++; sb = new StringBuilder(name); sb.append('('); sb.append(val); sb.append(')'); } map.put(sb.toString(), 1); map.put(name, val+1); ans.add(sb.toString()); } else{ map.put(name, 1); ans.add(name); } } return ans.toArray(new String[0]); } } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up