题解 | #找位置#

找位置

https://www.nowcoder.com/practice/e3b2cc44aa9b4851bdca89dd79c53150

#include<iostream>
#include<vector>
#include<unordered_map>
using namespace std;

//习题3.7 找位置
int main()
{
	unordered_map<char, vector<int>> maps;
	vector<char> keys;
	string s;
	while (cin >> s) {
		for (int i = 0; i < s.size(); i++) {
			if (maps.find(s[i]) == maps.end()) {
				keys.push_back(s[i]);
				maps[s[i]] = vector<int>{ i };
			}
			else {
				maps[s[i]].push_back(i);
			}
		}

		for (int i = 0; i < keys.size(); i++) {
			if (maps[keys[i]].size() < 2) {
				continue;
			}
			cout << keys[i] << ":" << maps[keys[i]][0];
			for (int j = 1; j < maps[keys[i]].size(); j++) {
				cout << "," << keys[i] << ":" << maps[keys[i]][j];
			}
			cout << endl;
		}
	}

	return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-25 17:26
点赞 评论 收藏
分享
码农索隆:想看offer细节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务