bilibili 9.13 媒体后端笔试AK(cpp版本)

第一题:把链表折过来再拉长,有点像拉面
#include <bits/stdc++.h>

using namespace std;

int main () {
    string input, output, temp;
    cin >> input;
    vector<int> num, ret;
    for (const auto& c : input) {
        if (c <= '9' && c >= '0') {
            temp += c;
        } else {
            num.push_back(stoi(temp));
            temp.clear();
        }
    }        
    if (!temp.empty()) {
        num.push_back(stoi(temp));
        temp.clear();
    }
    int l = 0, r = num.size() - 1;
    while (l <= r) {
        ret.push_back(num[l]);
        if (l != r) ret.push_back(num[r]);
        l++;
        r--;
    }
    for (const auto& c : ret) {
        output += to_string(c) + ',';
    }
    output.pop_back();
    cout << output << endl;
    return 0;
}

第二题:公共元素的最小值
#include <bits/stdc++.h>

using namespace std;

int main () {
    set<int> pre, cur;
    int ret = -1;
    string str;
    bool startFlag = true;
    while (getline(cin, str)) {
        if (startFlag) {
            startFlag = false;
            string curNum;
            for (const auto& c : str) {
                if (c >= '0' && c <= '9') {
                    curNum += c;
                } else {
                    cur.insert(stoi(curNum));
                    curNum.clear();
                }
            }
            if (!curNum.empty()) {
                cur.insert(stoi(curNum));
                curNum.clear();
            }
        } else {
            pre.clear();
            pre = cur;
            cur.clear();
            string curNum;
            for (const auto& c : str) {
                if (c >= '0' && c <= '9') {
                    curNum += c;
                } else {
                    int num = stoi(curNum);
                    if (pre.find(num) != pre.end()) cur.insert(num);
                    curNum.clear();
                }
            }
            if (!curNum.empty()) {
                int num = stoi(curNum);
                if (pre.find(num) != pre.end()) cur.insert(num);
                curNum.clear();
            }
        }
    }
    if (!cur.empty()) {
        for (const auto& item : cur) {
            ret = item;
            break;
        }
    }
    cout << ret << endl;
    return 0;
}




#哔哩哔哩##后端开发##笔经#
全部评论
第二题Java输入没有截止条件,怎么截止了,有没有大佬回复一下
点赞 回复 分享
发布于 2021-09-13 20:53

相关推荐

评论
2
4
分享

创作者周榜

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