文章目录
- 1. 题目
- 2. 解题
1. 题目
描述
给出一组用户名,如果有重复的用户名,则在用户名后添加数字区别,并返回修改后的数组。
样例 1:
输入:["aa", "bb", "cc", "bb", "aa", "aa", "aa"]
输出:["aa","bb","cc","bb1","aa1","aa2","aa3"]
解释:
"bb"第二次出现输出为"bb1"
"aa"第二次出现输出为"aa1"
"aa"第三次出现输出为"aa2"
"aa"第四次出现输出为"aa3"样例 2:
输入:[aa, bb, cc, aa]
输出:[aa, bb, cc, aa1]
解释:"aa"第二次出现输出为"aa1"
https://tianchi.aliyun.com/oj/376506598349105305/389682099890885303
2. 解题
class Solution {
public:/*** @param names: a string array* @return: the string array*/vector<string> DistinguishUsername(vector<string> &names) {// Write your code herevector<string> ans;unordered_map<string, int> name_idx;for(auto& n : names){if(name_idx.find(n) == name_idx.end()){name_idx[n] = 0;ans.push_back(n);}else{name_idx[n]++;ans.push_back(n+to_string(name_idx[n]));}}return ans;}
};
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!