题解 | #查找兄弟单词#

查找兄弟单词

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

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
    int n, k;
    cin >> n;
    vector<string> word;
    vector<string> broword;
    string oldword;
    string m1temp;
    for(int i = 1; i <= n ; i++){
        cin >> m1temp;
        word.push_back(m1temp);
    }
    cin >> oldword >> k;
    for(int i = 1; i <= n; i++){
        if(word.back().length() != oldword.length()){ 
            word.pop_back();
            continue;
        }
        if(word.back() == oldword){
            word.pop_back();
            continue;
        }
        m1temp = word.back();
        string m2temp = oldword;
        sort(m1temp.begin(), m1temp.end());
        sort(m2temp.begin(), m2temp.end());
        if(m1temp == m2temp){
            broword.push_back(word.back());
        }
        word.pop_back();
    }
    cout << broword.size() << endl;
    if(broword.size() == 0) return 0;
    sort(broword.begin(), broword.end());
    cout << broword[k - 1];
}

这题要注意指针越界,边界条件要细心

全部评论

相关推荐

07-11 22:27
中南大学 Java
程序员牛肉:学历的话没问题。但是没问题的也就只有学历了。 其实你的整体架构是正确的,博客接着干。但是项目有点过于简单了。从后端的角度上讲,你这也就是刚入门的水平,所以肯定约面试够呛。 如果你要应聘后端岗位,那你第一个项目竟然是仿写操作系统。这个你要面试官咋问你。你一定要记住一点,你简历上写的所有的东西,都是为了证明你有能力胜任当前的岗位,而不是为了证明你自己会什么。 如果你只是浅浅的做几个项目,描述也都是烂大街。技术点也都是各种混水类的配置类需求,那你就不要幻想自己能走多远。一定要保持思考,保持学习。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务