题解 | #查找兄弟单词#

查找兄弟单词

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;

}
全部评论

相关推荐

爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务