题解 | #查找兄弟单词#

查找兄弟单词

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

#include <iostream>
#include <vector>
#include <string>
#include <set>
using namespace std;

bool isBrother(const string &s1, const string&s2) {
    if(s1.length() != s2.length() || s1 == s2) return false;
    multiset<char> s1_set;
    for(char c : s1) {
        s1_set.insert(c);
    }
    for(char c : s2) {
        if(s1_set.find(c) != s1_set.end()) s1_set.erase(s1_set.find(c));
        else return false;
    }
    return true;
}

int main() {
    int n, k;
    string tar;
    cin >> n;
    vector<string> dic(n); // 字典
    for(int i=0; i<n; ++i) cin >> dic[i];
    cin >> tar >> k;

    multiset<string> broWords;  // 利用set排序
    for(int i=0; i<n; ++i) {
        if(isBrother(tar, dic[i])) broWords.insert(dic[i]);
    }
    int cnt = 1;
    cout << broWords.size() << endl;
    for(auto word : broWords) {
        if(k == cnt) {
            cout << word;
            break;
        } 
        ++cnt;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

11-15 13:12
已编辑
门头沟学院 Java
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司10个岗位
点赞 评论 收藏
分享
09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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