题解 | #代理服务器#

代理服务器

https://www.nowcoder.com/practice/1284469ee94a4762848816a42281a9e0

每次从代理列表中选取能“走”的最远的,每次的终点+1为下一次的起点,直至服务器列表遍历完

#include<iostream>
#include<vector>

using namespace std;
int getCount(vector<string>proxy, vector<string> server) {
    int count = 0;
    int index = 0;//server起始位置
    int jump = 0; //使用一个代理最多能访问多少服务器
    for ( ; index < server.size(); index += jump) {
        jump = 0;
        for (auto item : proxy) {
            int j = index;
            while (item != server[j] && j < server.size()) {
                j++;

            }
            jump = max(jump, j - index);
        }
        if (jump == 0) return -1;
        count++;
    }

    return count - 1;
}
int  main() {
    int proxyNum;
    while (cin >> proxyNum) {
        int serverNum;
        vector<string> proxy;
        vector<string> server;
        for (int i = 0; i < proxyNum; i++) {
            string temp;
            cin >> temp;
            proxy.push_back(temp);
        }
        cin >> serverNum;
        for (int i = 0; i < serverNum; i++) {
            string temp;
            cin >> temp;
            server.push_back(temp);
        }
        int count = getCount(proxy,  server);
        cout << count << endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

2025-12-19 19:02
西安交通大学 Java
程序员牛肉:双九,而且还是西交这种比较好的985九没必要再投日常了。你投中小厂,人家会觉得你学历这么顶还面试肯定是海投的,过了你也不去。所以不约你了。 直接准备暑期实习就好,现在你可以面试。但是目的不再是去日常实习了,而是熟悉面试节奏。 后续把精力放到八股,算法和AI知识上。抽空把自己这两个项目换了,怎么选项目可以看看我主页写的文章。 你学历不错的,不要焦虑
那些拿到大厂offer的...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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