题解 | #查找兄弟单词#

查找兄弟单词

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

比较常见的一道题

关键在于怎么判断两个字符串是否是兄弟串

用数组来做统计比较合适

#include 
#include 
#include 
#include 
using namespace std;
bool isBrother(string t, string s);
int main(){
    int n;
    cin >> n;
    vector vs(n);
    for(int i=0; i<n; i++){
        cin >> vs[i];
    }
    string targetS;
    cin >> targetS;
    int k;
    cin >> k;
    vector BrotherVector;
    for(auto x:vs){
        if(isBrother(targetS, x)){
            BrotherVector.push_back(x);
        }
    }
    sort(BrotherVector.begin(), BrotherVector.end());
    cout << BrotherVector.size() << endl;
    if(k-1<BrotherVector.size()){
        cout << BrotherVector[k-1] << endl;
    }

    return 0;
}
bool isBrother(string t, string s){
    if(t==s) return false;
    vector vt(26, 0);
    vector vs(26, 0);
    for(auto x:t){
        vt[x-'a']++;
    }
    for(auto x:s){
        vs[x-'a']++;
    }
    return vt==vs;
}
全部评论

相关推荐

无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务