百度笔试914,运维开发第二题

百度笔试914,运维开发第二题代码
#include <iostream>
#include<vector>
using namespace std;

int main() {
    int output;
    vector<vector<int> > res;
    vector<vector<char> > contain;
    int n, m;
    int min, max;
    cin >> n >> m;
    char query;
    for (int i = 0; i < m; i++) {
        vector<char> con1;
        for (int j = 0; j < 3; j++) {
            cin >> query;
            con1.push_back(query);
        }
        contain.push_back(con1);
    }
    
    for (int i = 0; i < n; i++) {
        vector<int> con;
        int temp;
        con.push_back(i + 1);
        con.push_back(i+1);
        res.push_back(con);
   }
//截至到这里都是在存储输入数据,下面对输入进行处理;
//分两种情况,一个是发指令,一个是询问。
    int a, b;
    for (int i = 0; i < m; i++) {
        if (contain[i][0] == 'C') {
            a = int(contain[i][1]-'0');
            b = int(contain[i][2]-'0');
            for (int i = 1; i < res[a - 1].size(); i++) {
                res[b - 1].push_back(res[a - 1][i]);
            }
        } 
        else if(contain[i][0] == 'Q') {
            output = -1;
            max = min = 0;
            a = int(contain[i][1]-'0');
            b = int(contain[i][2]-'0');
            for (int j = 0; j < n; j++) {
                if (res[j].size() != 2) {
                    for (int i = 1; i < res[j].size(); i++) {
                        if (res[j][i] == a)   min = i;
                        else if (res[j][i] == b) max = i;
                        if (min != 0 && max != 0) output= abs(min - max)-1;
                    }
                    if (output != -1) {
                        cout << output << endl;
                        break;
                    
                    }
                }
                if (j == n - 1) cout << -1 << endl;
            }
        }
    }
    return 0;
}
第一题暴力查找,时间超限制,求简便方法#笔试题目##百度#
全部评论

相关推荐

昨天 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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