在tmp[i]首尾插入-1和s.size是为了处理最左侧和最右侧的情况
int uniqueLetterString(string s) {
unordered_map<char, vector<int>> tmp;
int ret = 0;
for(int i = 0; i < s.size(); i++) tmp[s[i]].emplace_back(i);
for(int i = 0; i < tmp.size(); i++) {
tmp[i].insert(tmp[i].begin(), -1);
tmp[i].emplace_back(s.size());
for(int j = 1; j < tmp[i].size() - 1; j++) {
ret += (tmp[i][j] - tmp[i][j-1]) * (tmp[i][j+1] - tmp[i][j]);
}
}
return ret;
}