题解 | #查找兄弟单词#

查找兄弟单词

http://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

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

bool func(string &s, string &t){
    if (s.size() != t.size() || s == t) return false;
    unordered_map<char, int> mp;
    for (int i = 0; t[i]; i++){
        mp[t[i]] += 1;
    }
    for (int i = 0; s[i]; i++){
        if (mp.find(s[i]) == mp.end()) return false;
        mp[s[i]]--;
        if (mp[s[i]] < 0) return false;
    }
    return true;
}

int main(){
    int n;
    while (cin >> n){
        vector<string> s(n);
        for (int i = 0; i < n; i++){
            cin >> s[i];
        }
        string b;
        cin >> b;
        int k = 0;
        cin >> k;
        vector<string> v;
        for (int i = 0; i < n; i++){
            if (func(s[i], b)) v.push_back(s[i]);
        }
        sort(v.begin(), v.end());
        cout << v.size() << endl;
        if (k < v.size()){
            cout << v[k-1] << endl;
        }
    }
    return 0;
}
全部评论

相关推荐

嵌入式的小白:简历关键的就是项目经历,你这密密麻麻的,我一点开就不想看了,每一条都不换行,而且每一个里面写那么多,需要精简一下,这样别人看一眼就能知道你做了啥,用了啥技术
点赞 评论 收藏
分享
爱吃烤肠的牛油最喜欢...:50K是ssp了估计,ssp的人家多厉害都不用说,每年比例大概在百分之5左右
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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