拼多多集团-PDD

收藏
电商
1000-9999人
上市
上海
福利丰厚榜学历友好榜高校必争榜offer比较常胜榜HC充足榜校招高薪榜牛客指数榜
榜单独角兽企业榜单高新技术

937

在招职位

1370

面试经验

5

真题试卷

查看官网
上传简历
此刻你想和大家分享什么
职位类型
全部
后端开发
前端开发
客户端开发
产品
运营
市场/营销
管理培训生
交互/设计
最新
热门
时间:2024.91、多多君最近在给多多字典中的单词进行排序,单词都是由大写的英文字母A。Z组成。一般的字典是按照字典序进行排序:从左到石逐一比较两个单词中字符,遇到某一位的字符更小的单词则排在前面,例如:A<B<BA<BAC<C。多多君想定义一种新的比较方式来给多多字典排序:1.包含"PDD"的单词要排在不包含"PDD"的单词的前面2. 同为包含"PDD"的单词、以及不包含"PDD"的单词之中,则还是按照字典序小的排在前面。多多君想知道,对于给定N个单词的多多词典,按照新的排序方式的前M个单词分别是什么。输入描述:第一行,两个整数N和M,分别表示总的单词数,以及要进行排序的前M个单词数。(1 <= N <= 1.000, 1 <= M <≡ N)接下来N行,每行分别表示一个单词(由大写英文字母组成,1<=单词长度<100)。输出描述:输出M行,按照新的比较方式,按顺序每行分别输出一个单词。输入:3 1ABCAPDDPDD输出:APDD说明:因为APDD和PDD均包括PDD,所以这两个单词要排在ABC前面。而在都包含PDD的单词之中,APDD的字典序小于PDD,因此根据新的排序方式可得APDD <PDD < ABC,即排在第一位的单词是:APDD2、多多得到了一个由n个整数 a1, a2,… an 构成的数组a,这n个整数的平均值表示为k(注意k可能不是一个整数)。多多想从数组a中删除两个数字,并使得剩下的n-2 个整数的平均值仍然等于K。多多现在需要你帮助计算出对于数组a,有多少组数字 [ai,aj](1<=i<j<= n) 删除后剩下整数的平均值等于原数组的平均值。输入描述:第一行包含一个整数t(1<=t<= 104),表示有t组测试数据,每组测试数据包含两行。第一行包含一个数字n(3<=n<=2*10^5),n表示数组中整数的个数,接下来第二行包含n个整数a1, a2,… an,其中对于任意1<=i<=n 都有 0 <= a¡<10^9,所有测试用例中n数值的和不会超过 2*10^5。输出描述:对于每组测试数据,分别输出一个整数:代表有多少组数字[ai,aj](1<=i<j<=n)使得删除这两个数字后剩余n-2个整数的平均值等于原数组a中n个整数的平均值输入:448 8 8 8350 20 1051 4 7 3 571 2 3 4 5 6 7输出:6023说明:第一组测试用例中,删除任意两个数字都满足要求,共有6种组合,第二组测试用例中,没有能满足要求的组合,第三组测试用例中,删除第1个和第3个数,或者删除第4个和第5个数字,共有2种组合,第四组测试用例中,删除第1个和第7个数字,或者删除第2个和第6个数字,或者删除第3个和第5个数字,共有3种组合。3、对于一个长度为n的整数序列 a1,a2,...a,是否存在等长的序列 b,b2.·.,bn,对于任意1≤i≤n存在1≤j,k≤n,使得ai=bj-bk输入描述:第一行一个整数t,表示测试用例的数量。(1<t< 10),对于每组测试用例:第一行是一个整数n,表示序列长度。(1≤n≤10),第二行是n个整数:a1,a2,···,an,以空格隔开(-10^6 < ai<10^6)。输出描述:对于每组测试用例,分别输出一行:如果存在满足条件的序列b1,b2,…,bn输出"yes",否则输出"no"。输入:1233 33输出:yes输入:31-7420 653-81 42 29输出:noyesno4、多多炸鸡店为了回馈老客,自动只换成一张免单敬量的汉堡积分,且每100个汉堡积分券,可以免费吃任意汉堡。免单券的有效期为3天,例如第1天获得免单券后,可以在第2、3、4天使用,到了第5天会自动过期失效,且使用免单券吃掉的汉堡不能获得汉堡积分多多君希望你能帮助他找到一个最省钱的吃汉堡计划:未来N天每天要吃一个汉堡的情况下最少要花多少钱。输入描述:第一行,一个整数T,表示测试用例的组数(1 <= T <= 10 ),对于每组测试用例:第一行,1个整数N,表示未来要吃汉堡的天数。(1<= N <= 1000),接下来N行,每行一个整数Pi,表示第i天多多君要购买的汉堡价格。(1<= Pi <= 50)输出描述:输出一行,一个整数,表示吃完所有汉堡的最小花费输入:13505040输出:100
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
05-11 21:19
门头沟学院
A#include <bits/stdc++.h>using namespace std;int main() {    int t;    cin >> t;    while (t--) {        int n;        cin >> n;        vector<string> s(n + 1);        vector<int> sz(n + 1, 0);        for (int i = 1; i <= n; i++) cin >> s[i], sz[i] = s[i].size();        int ans = 1, cnt = 1;        for (int i = 2; i <= n; i++) {            if (sz[i] > sz[i - 1]) {                cnt++;            } else if (sz[i] == sz[i - 1]) {                if (s[i] >= s[i - 1]) cnt++;                else {                    ans = max(ans, cnt);                    cnt = 1;                }            } else {                ans = max(ans, cnt);                cnt = 1;            }        }        ans = max(ans, cnt);        cout << ans << "\n";    }}// 64 位输出请用 printf("%lld")B#include <bits/stdc++.h>using namespace std;int main() {    int n;    cin >> n;    string s;    cin >> s;    int ans = 0, bj = 0;    int now = 0, l = 0, r = 0;    vector<pair<char, int>> v;    vector<array<int, 2>> va;    for (auto c : s) {        now++;        if (!v.empty()) {            if (c == '(') {                if (bj) {                    while (!va.empty() && l < va.back()[0]) va.pop_back();                    va.push_back({l, r});                    bj = 0;                }                v.emplace_back(c, now);            } else {                if (v.back().first == '(') {                    bj = 1;                    l = v.back().second;                    r = now;                    v.pop_back();                } else {                    if (bj) {                        while (!va.empty() && l < va.back()[0]) va.pop_back();                        va.push_back({l, r});                        bj = 0;                    }                    v.emplace_back(c, now);                }            }        } else {            if (bj) {                while (!va.empty() && l < va.back()[0]) va.pop_back();                va.push_back({l, r});                bj = 0;            }            v.emplace_back(c, now);        }    }    if (bj) {        while (!va.empty() && l < va.back()[0]) va.pop_back();        va.push_back({l, r});        bj = 0;    }    ans = v.size();    for (int i = 1; i < va.size(); i++) {        if (va[i][0] != (va[i - 1][1] + 1)) {            ans++;        }    }    if(va.size()) ans++;    cout << ans;}// 64 位输出请用 printf("%lld")C#include <bits/stdc++.h>using namespace std;const int N = 100010;int a[N], b[N];int main() {    int n, m;    cin >> n >> m;    for (int i = 1; i <= m; i++) cin >> a[i];    vector<vector<array<int, 2>>> v1, v2;    for (int i = 1; i <= n; i++) {        int k; cin >> k;        vector<array<int, 2>> t;        for (int i = 1; i <= k; i++) {            int x, y; cin >> x >> y;            t.push_back({x, y});        }        v1.push_back(t);        cin >> k;        t.clear();        for (int i = 1; i <= k; i++) {            int x, y; cin >> x >> y;            t.push_back({x, y});        }        v2.push_back(t);    }    while (true) {        bool tj = 1;        for (int i = 0; i < n; i++) if(!b[i]) {            bool ok = 1;            for (auto [x, y] : v2[i]) {                if (a[x] < y) ok = 0;            }            if (ok) {                b[i] = 1;                for (auto [x, y] : v1[i]) {                    a[x] += y;                }                tj = 0;            }        }        if (tj) break;    }    vector<int> ans;    for (int i = 0; i < n; i++) if(!b[i]) ans.push_back(i + 1);    cout << ans.size() << "\n";    for (auto c : ans) {        cout << c << " ";    }}// 64 位输出请用 printf("%lld")D 不会
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
三题看不懂四题不明白二题无法AC T=int(input()) for _ in range(T): n=int(input()) s=input().split() k,mx=1,1 for i in range(len(s)-1): if len(s[i])<len(s[i+1]): k+=1 elif len(s[i])==len(s[i+1]): if s[i]<=s[i+1]: k+=1 ...
恭喜臭臭猴子:第二题用栈就行。合法的括号直接出栈了,剩下的是不合法的,肯定都得一个一个走。出入栈的过程中得记下进栈的括号的下标。最后栈里剩下的括号如果相邻两个的下标不连续,说明它们中间有一个合法的括号序列被出栈,结果加一
投递拼多多集团-PDD等公司10个岗位 > 拼多多求职进展汇总 笔试
点赞 评论 收藏
分享
查看15道真题和解析
点赞 评论 收藏
分享
05-01 17:56
已编辑
门头沟学院 C++
笔试 3.9一面 3.191. 为什么要打ACM2. 大学课程成绩怎样3. 面向对象编程 vs 面向过程编程,面向对象一定比面向过程好?你平常写的代码哪种编程思想用的多?4. 线程进程,项目中是多线程还是多进程?5. 锁颗粒度,你是如何性能优化的,选择自旋锁的原因,自旋锁如何实现的,什么时候使用自旋锁。(ps: 这里是结合项目问的)6. TCP/IP模型,tcp udp在哪一层,tcp udp区别,日常网络使用中哪些是tcp,哪些是udp。tcp如何保证可靠性?7. 编程题,有一个光标,在光标位置添加字符,删除字符,左移光标,右移光标。用链表模拟就好了。二面 3.291. 竞赛遇到的挑战2. 介绍一下项目,深入了问了一下关于项目的3. 项目中会遇到字节对齐的问题吗4. 虚拟内存5. inline作用6. 设计模式,组合模式7. 编程题,最长回文子串,字符串哈希+二分,手生写了好久,没写完被叫停讲思路了,同时也说了还有另一种马拉车做法三面 4.161. 面向对象编程思想,多态2. 问实习的时候怎么性能优化的,回答锁,原子变量,自旋什么的,这里面试官深入问了下细节3. 进程间通信,你平常会用到进程间通信吗4. 父母工作,pdd作息可以接受吗6. 为什么投递客户端,秋招有面pdd吗7. 编程题,求中位数,快速排序可以on做hr面 4.23家庭情况,父母工作,作息可以接受吗,预期薪资我应该是主站ios,许愿OC,Only one。有没有客户端开奖的uu哇,你们timeline是什么#拼多多# #春招# #牛客AI配图神器#
查看21道真题和解析
点赞 评论 收藏
分享
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客企业服务