题解 | #查找兄弟单词#

查找兄弟单词

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

//先用tp存储所有待匹配的字符串,然后依次提取并排序,与目标字符串进行匹配,需要满足:(1)与目标字符串不相等。(2)与排序后的目标字符串相等。如果个字符串相等,则存储到ans中。遍历完之后进行查找

#include<vector>
#include<algorithm>
using namespace std;
int main(){
    int n;
    cin >> n;
    vector<string> tp(n);
    string str;
    for(int i = 0 ; i < n; i ++ ){
        cin >> str;
        tp[i] = str;
    }
    cin >> str;
    string str2 = str;
    sort(str.begin(), str.end());
    vector<string> tp2 = tp;
    int count = 0;
    vector<string> ans;
    for(int i = 0; i < n ; i ++ ){
        if(tp2[i] != str2){
            sort(tp2[i].begin(), tp2[i].end());
            if(tp2[i] == str){
                ans.emplace_back(tp[i]);
                count ++;
            }
        }
    }
    sort(ans.begin(), ans.end());
    int j;
    cin >> j;
    cout<< count <<endl;
    if(j < count){
        cout<< ans[j-1];
    }
    return 0;

}
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
11-15 19:28
已编辑
蚌埠坦克学院 硬件开发
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务