题解 | #找位置#

使用哈希表unordered_map
要点:
1.map.find(str[i])==map.end()判断是否存在
2.unordered_map<char,item> map复杂型hash表操作
#include<iostream>
#include<string>
#include<string>
#include<algorithm>
#include<cstdio>
#include<unordered_map>
#include<vector>
using namespace std;
typedef struct item{
    int count;
    vector<int> index;
};
int main(){
    string str;
    while(cin>>str){
        unordered_map<char,item> map;
        for(int i=0;i<str.length();i++){
            if(map.find(str[i])==map.end()){
                item t;
                t.count =1;
                t.index.push_back(i);
                map.insert({str[i],t});
            }else{
                map[str[i]].count+=1;
                map[str[i]].index.push_back(i);
                str[i]='#';
            }
        }
        for(int i=0;i<str.length();i++){
            if(map[str[i]].count>1){
                for(int k = 0;k<map[str[i]].index.size();k++){
                    if(k<map[str[i]].index.size()-1)
                    cout<<str[i]<<":"<<map[str[i]].index[k]<<",";
                    else{
                        cout<<str[i]<<":"<<map[str[i]].index[k]<<"\n";
                    }
                }
            }
        }
        
    }
    
}
全部评论

相关推荐

11-08 21:00
已编辑
门头沟学院 Java
好纠结,值得放弃中厂去华子吗
刷题刷题刷刷题:能去互联网不去华为,华为分进去让你干啥你干啥,纯度,业务不如互联网,但是华为稳定,给钱不扣,不过福利没有,看你更倾向啥了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
头像
11-10 15:56
东北大学 Java
帆软的感谢信真是又臭又长
等待offer降临的ylq:而且他内部是真的好,实习无转正有感而发
投递帆软软件等公司10个岗位 > 你都收到了哪些公司的感谢信?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务