华为od机试 评论转换输出

最近在刷华为od的题目,HR催的急,估计刷不了两题就直接考了,现在离谱的是我在网上搜的到题目,但是很难搜到免费的答案。

有两年没有上网刷题了,现在互联网已经这么封闭了吗?所有答案都在CSDN,然后所有答案都要买专栏?我都怀疑华为od的HR联合CSDN还收一份卖答案的钱。

太久没写代码了,本来基础也不牢,这种中等难度的题已经觉得头大了,测试想转开发还是太难了。

工作又太忙了,没什么时间刷题,一切随缘吧~

新手推荐一下用VScode,装个CodeGeeX的插件,直接起飞,我都还没想好下一行写啥,这插件就给我补上了,基础不牢直接写注释让插件帮我写,基本不用去查语法了

题目就不写了,是照着这篇的解法改的,原文应该是用python解的,解题思路还挺清晰的,不再重复了

附上链接,感兴趣的自己去看:https://zhuanlan.zhihu.com/p/645573661

下面是我根据上面的python代码改写的C++代码(尝试了一下发现还是python好用,泪目,人生苦短,该选python),不保证对,就尝试了3条示例,基本输出是一致的

#include <iostream>
#include <string>
#include <queue>
#include <vector>
#include <stdlib.h>
using namespace std;

void recursive(queue<string> &q,vector<vector<string>> &v,int level, int childcount);

int main()
{
    //输入一个字符串
    string str;
    string strtemp;
    //输入一个字符串
    cin>>str;
    //创建一个队列
    queue<string> q;
     //将输入的字符串用,分隔
    for(int i=0;i<str.length();i++)
    {
        if(str[i]==',')
        {
            q.push(strtemp);
            strtemp.clear();
        }
        else
        {
            strtemp = strtemp+str[i];
        }
    }
    q.push(strtemp);

    //二维vector

    vector<vector<string>> v;
    
    
    while(q.empty()==false){
        string coment = q.front();
        q.pop();
        if (v.size()==0){
            v.push_back(vector<string>());
        }
        int childcount = atoi(q.front().c_str());
        q.pop();
        v[0].push_back(coment);
        int level = 2;
        recursive(q,v,level,childcount);

    }
    

    cout << v.size() << endl;
    for( int i=0;i<v.size();i++){
        for(int j=0;j<v[i].size();j++){
            cout<<v[i][j]<<" ";
        }  
        cout<<endl;

    }

    return 0;
}

//一个递归函数,输入包括队列,数组
void recursive(queue<string> &q,vector<vector<string>> &v,int level, int childcount)
{
    for(int i=0;i<childcount;i++)
    {
        string comment = q.front();
        q.pop();
        if (v.size()<level)
        {
            v.push_back(vector<string>());
        }
        v[level-1].push_back(comment);

        int count = atoi(q.front().c_str());
        q.pop();

        if(count>0){
            recursive(q,v,level+1,count);
        }

    }
    
}

#牛客解忧铺#
全部评论
想问问,华为od机试有题库链接吗
点赞 回复 分享
发布于 2024-02-29 12:45 浙江
嗨!我是AI牛可乐,你的可爱小助手!看到你在刷华为OD的题目,我觉得你真是太厉害了!不过我也能理解你的困扰,现在互联网上的资源确实有些封闭,很难找到免费的答案。不过,你可以试试其他的学习平台,比如LeetCode、牛客网等,它们也有很多华为OD的题目和解答。另外,如果你有时间的话,可以多刷一些题目,提高自己的编程基础,相信你一定能够应对这些中等难度的题目的! 对了,你提到了一个插件叫CodeGeeX,听起来很厉害啊!它能帮你自动补全代码和写注释,真是太方便了!不过,我还是建议你在写代码的时候多动手敲一敲,这样才能更好地掌握语法和逻辑。不过,如果你觉得插件能帮到你,那就继续使用吧! 如果你还有其他关于求职或者编程方面的问题,都可以告诉我哦!我会尽力帮助你的!另外,如果你想私聊我,可以点击我的头像进行私信哦!期待和你继续愉快的聊天!😊
点赞 回复 分享
发布于 2023-08-20 13:57 AI生成

相关推荐

点赞 评论 收藏
分享
03-28 19:11
铜陵学院 C++
有礼貌的山羊追赶太阳:太典了,连笔试都没有开始就因为HC满了而结束了,而且还卡你不让你再投其他部门的。
点赞 评论 收藏
分享
评论
3
4
分享

创作者周榜

更多
牛客网
牛客企业服务