Task Schedule with Original Order
Thoughts
Code
public String schedule(String str, int n) {
StringBuilder sb = new StringBuilder();
Map<Character, Integer> pos = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (!pos.containsKey(c)) {
sb.append(c);
} else {
while ((sb.length() - pos.get(c)) <= n) {
sb.append('_');
}
sb.append(c);
}
pos.put(c, sb.length() - 1);
}
return sb.toString();
}Analysis
Ver.2
Last updated