pdd笔试解析(菜鸟勿喷)

第一题很简单,模拟即可,将第一个字母和后面为下标为奇数的字符拼接即可

--------------------------------------------------------------------

第二题:

第一行有三个整数n,m,α(1≤n,m,c≤105),代表物流商给出

了接下来n天的发货价格,有m个订单需要发货,每天最多能发c

个包裹。

第二行有n 个整数a1,a2,...,an(0 ≤a≤10,1≤i≤n),代

表第天发货一个包裹的价格为α。

第三行有m个整数b1,b2,...,bm(1≤bj≤n,1≤j≤m),代

表订单j需要在第b;天以及之前发货。

(输入数据保证在n天内可以将所有订单发完)

输入

342

321

1223

输出

8

----------------------------------------------------------

这里将价格记为price数组,发货期限记为day数组,将day数组排序,优先处理期限小的包裹,用一个优先队列将当前期限之前的price加入到队列里面自动排序,之后每次从队列顶部取出最小的price,同时更新剩余使用次数,如果使用次数为0则将对应数据弹出

-----------------------------------------------------------

第三题平衡片段

输入复制

3

201

输出复制

3

说明

样例中,满足条件的子段共有3个:

·[1]:能量和为1,长度为1

·[2,0]:能量和为2,长度为2

·[1,2,0]:能量和为3,长度为3

------------------------------------------

通过分析我们得知0单独不能满足条件,1单独可以满足条件,大于1的不论怎么组合都不能满足条件,必须和0组合才能满足条件,我们可以将数字都-1,2 0 1变成1 -1 0,这样就将问题转换成了从序列里面找出和为0的子串,和leetcode 560一样,通过前缀表+哈希表即可解答

--------------------------------------------------

最后一题没时间看了,手敲不易,还望多多支持

#我的秋招日记##秋招笔试记录##发面经攒人品#
全部评论

相关推荐

评论
5
收藏
分享

创作者周榜

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