PDD 0817 笔试 25+25+25+5

第一题, 类似两数之和, 维护一下前面和他互补的数出现的次数

#include <iostream>
#include <vector>
#include <unordered_map>

using namespace std;

typedef long long LL;
const int M = 998244353;


int main() 
{
    int n, m;
    cin >> n >> m;

    vector<LL> a(n + 10, 0);
    unordered_map<LL, vector<LL>> mp;

    LL ans = 0;

    for (int i = 1; i <= n; i ++)
    {
        cin >> a[i];
        LL md = a[i] % m;
        LL tg = m - md;
        tg %= m;
        ans = (ans + mp[tg].size()) % M;
        mp[md].push_back(a[i]);
    }

    cout << ans << endl;
}

第二题 ci * i, 排个序就行

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>

using namespace std;

int main() {
    int n;
    long long x;
    cin >> n >> x;
    vector<int> c(n + 10);
    for (int i = 1; i <= n; i ++)
    {
        cin >> c[i];
        c[i] = (n - i + 1) * c[i];
    }
    
    sort(c.begin() + 1, c.begin() + 1 + n);

    for (int i = 1; i <= n; i ++)
    {
        x -= c[i];
        if (x < 0)
        {
            cout << i - 1 << endl;
            return 0;
        }
    }

    cout << n << endl;
}

第三题, 类似昨天东哥的第二题, 滑动窗口

#include <bits/stdc++.h>

#define PII pair<long long, long long>
using namespace std;

typedef long long LL;

int main()
{
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);

    LL n, T;
    cin >> n >> T;
    vector<LL> s(n + 10, 0), d(n + 10, 0);
    for (int i = 1; i <= n; i ++)
        cin >> s[i] >> d[i];

    priority_queue<PII> pq;
    int l = 1, r = 0;
    LL sum = 0;
    LL ans = 1000000000; 

    for (int r = 1; r <= n; r ++)
    {
        sum += s[r];
        pq.push({d[r], r});
        // cout << l << " " << r << endl;
        while (l < r)
        {
            if (sum < T) break;
            ans = min(ans, pq.top().first);
            if (sum == T) break;
            sum -= s[l]; l ++;
            while (pq.top().second < l) pq.pop();
        }
        // cout << pq.top().first << endl;
    }

    cout << ans << endl;
}

第四题只过了 20%, 不会写, 求解答

#拼多多##笔试#
全部评论

相关推荐

昨天 10:28
已编辑
北京交通大学 C++
有个哥们跟我说,他在拼多多干了三年,晚上十点之后基本没加过班。我当时就不信,互联网公司晚上十点走?你是在逗我吗?这家伙就笑,说你不信是吧,我给你看看我们的日常。早上想几点到就几点到,反正是弹性工作制。中午吃完饭能躺一个半小时,下午还有一个半小时的休息时间,晚上十点准时走人,公司还给报销打车费。我心想,这不会是在什么野鸡公司混日子吧?结果这货告诉我,他们组叫拼多多跨境基础平台,专门负责支撑全球业务的核心技术。什么概念?就是全球几亿用户,海量的交易数据,都要经过他们的系统。RPC中间件、存储、K8s、CI/CD、大模型,这些最硬核的技术全是他们在搞。我就更不理解了,这种核心业务不应该是最累的吗?怎么可能这么轻松?他跟我解释说,关键就在于技术驱动。别的公司遇到问题就堆人,他们这里是用最牛逼的架构去解决最复杂的问题。高并发?用技术手段优化。复杂架构?设计更合理的系统。极致高可用?提前预防而不是事后救火。这就是第一性原理啊兄弟,从根本上解决问题,而不是用战术上的勤奋掩盖战略上的懒惰。更让我震惊的是,他说他们组的离职率低得可怕。我问为什么,他说你想想,一个地方技术氛围好,待遇还行,谁特么愿意走啊?组里一堆三十多岁的技术大牛,这些人如果真的不爽,早就跳槽了。他还跟我说了个细节,让我特别感动。他们开发完全以数据指标和业务逻辑为准,没有那些乱七八糟的形式主义流程。作为一个校招生,你只要把事情做好,就能得到认可。不用拍马屁,不用搞人际关系,就是纯粹的技术导向。我突然想起乔布斯说过的话,伟大的产品来自于对细节的执着和对本质的追求。这个团队就是这样,他们不搞那些花里胡哨的东西,就是专注于把技术做到极致。package高不高我不知道具体数字,但是每年固定涨薪这一点就很说明问题了。现在这个环境,能保证涨薪的公司有几个?而且四餐全包,这细节也体现了公司对员工的重视。现在他们要2026届的校招生,要求其实挺实在的:本科以上学历,对计算机和互联网技术有兴趣,扎实的数据结构和算法能力。没有那些虚头巴脑的什么领导力、沟通能力、团队合作,就是硬核技术要求。我觉得这才是对的。技术这东西,要么你有天赋,要么你够努力,要么你运气好进了一个能让你成长的地方。其他的都是扯淡。你想想,现在这个市场环境下,能找到一个真正重视技术的地方有多难?大部分公司都在裁员,都在压缩成本,都在搞形式主义。而这个团队还在招人,还在投入核心技术,说明什么?说明他们是真的在做事情,不是在混日子。我觉得对于校招生来说,第一份工作选择什么样的环境,基本上决定了你未来几年的技术路径。在一个重视技术、氛围好、不搞内卷的地方,你才能真正专心把技术学好,把基础打扎实。有兴趣的话真的可以了解一下,现在好的机会确实不多了。别等毕业了才后悔没抓住机会。​​​​​​​​​​​​​​​​
ResourceUt...:开头就有个哥们跟我说,这是什么传销话术
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
15道选择题+3道sql题,没想象中的难
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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