题解 | #查找兄弟单词#

查找兄弟单词

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

#include <iostream>
using namespace std;
#include<vector>
#include<algorithm>
bool isBrother(string s1,string s2){
    if(s1.size()==s2.size()){
        if(s1==s2){
            return false;
        }
        sort(s1.begin(),s1.end());
        sort(s2.begin(),s2.end());
        if(s1==s2){
            return true;
        }
    }
    return false;
}
int main() {
    int n;
    while (cin >> n) { // 注意 while 处理多个 case
        vector<string>str;
        for(int i=0;i<n;i++){
            string s;
            cin>>s;
            str.push_back(s);
        }
        string ss;
        cin>>ss;
        int k;
        cin>>k;
        vector<string>ans;
        for(int i=0;i<n;i++){
            if(isBrother(ss,str[i])){
                ans.push_back(str[i]);
            }
        }
        sort(ans.begin(),ans.end());
        cout<<ans.size()<<endl;
        if(ans.size()>=k){
            cout<<ans[k-1]<<endl;
        }
        
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

01-23 19:12
门头沟学院 Java
榨出爱国基因:你还差 0.1% 就拿到校招礼盒,快叫朋友给你砍一刀吧
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务