-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakFileNameUnique1487.java
More file actions
34 lines (32 loc) · 953 Bytes
/
MakFileNameUnique1487.java
File metadata and controls
34 lines (32 loc) · 953 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package medium;
import java.util.HashMap;
import java.util.Map;
public class MakFileNameUnique1487
{
public String[] getFolderNames(String[] names)
{
if (names == null) {
return null;
}
String[] results = new String[names.length];
Map<String, Integer> unique = new HashMap<>();
for (int i = 0; i < names.length; i++) {
String name = names[i];
if (!unique.containsKey(name)) {
results[i] = name;
unique.put(name, 1);
}
else {
int count = unique.get(name);
while (unique.containsKey(name + "(" + count + ")")) {
count++;
}
String res = name + "(" + count + ")";
unique.put(res, 1);
unique.put(name, count);
results[i] = res;
}
}
return results;
}
}