题解 | #查找兄弟单词#

查找兄弟单词

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

#include<bits/stdc++.h>
using namespace std;
vector <string> v;//all words
vector <string> v1;//brother words

int main() {
    string s1, s2; int n; 
    cin >> n; //the num of words
    int k; int cnt = 0;

    for (int i = 0; i < n; i++) {
        cin >> s1;
        v.push_back(s1);
    }
    cin >> s2; cin >> k;//word & k
    string s4 = s2;
    sort(s4.begin(), s4.end());
    for (int i = 0; i < n; i++)
    {
        string s3 = v[i];
        sort(s3.begin(), s3.end());
        if (s3 == s4 && v[i] != s2 && v[i].size() == s4.size()) {//这个地方容易错,比较不相等要用没排字典序的,比较是兄弟要用都排过字典序的
            v1.push_back(v[i]);
            cnt++;
        }
    }
    sort(v1.begin(), v1.end());
    /*cout << cnt << endl;
    cout << v1[k - 1];*/
    if (v1.size() == 0) { cout << 0; }
    else if ((v1.size() > 0 && k > v1.size()) || v1.size() > 0 && k < 1) { cout << v1.size() << endl; }
    else {
        cout << v1.size() << endl; cout << v1[k - 1];
    }
    return 0;
}

全部评论

相关推荐

乐观的打工人前程似锦:怎么说呢🤔️,学历够,专业技能看起来也有那么回事,就是项目会不会差点?dji更喜欢较为复杂的工程落地的项目吧?如果有一些title的项目就更好了。有实习也是加分项,搞过神经网络应该也是加分项。进面应该可以,还是要看技术过硬
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务