秋招blog--pdd

更新:9月11日。挂

时间:8.25
岗位是后端开发,一共就 4 道算法题,无选择题,120 分钟

1. 题目没读懂。。

2. 给 n 个数,对数进行操作:1. 值减半;2. 将两个值用他们的和替换。问最少多少次操作才能使数组全部元素变为奇数。解题思路:奇 + 偶 = 奇,利用这个性质,只要有一个奇数,我们就可以利用操作 2 在 n 次操作将 n 个偶数变为奇数,答案就是偶数的个数。而果没有奇数,可以通过操作 1 将一个偶数变为奇数,答案为通过操作 1 获得一个奇数所需要的最少步骤 + 偶数个数 - 1。

3. 给定一个数组,和一个数 k。可以将 k 与数组中任意一个小于 k 的元素进行交换。问至少交换多少次,才能够使得数组单调不减。
解题思路:根据题目要求,只有当前持有的 k 大于数组元素时,可以进行交换,也就是说,数组的每个元素之能增加或不变,不可能减少,并且每次交换之后,所持有的 k 的值一定会减小。那么什么时候不可能得到单调不减的数组呢?对于下标 i 位置处的元素和目前所持有的 k,都小于下标 i 之前最大的那个数,说明不管交换与否,下标 i 之前那个最大的数永远比下标 i 处的元素大,也就不可能得到单调不减数组。因此,我们可以倒序遍历数组,对于每个下标 i 的元素 ai 去看是否需要交换。第一种情况是 max(ai, k)  < i 之前最大数,单调递减数组不可能得到,输出 -1。第二种情况是 ai < i 之前最大的数 < k,那么必须进行交换才有可能得到单调递减数组;第三种情况是 i 之前最大的数 < ai < k。那么对于这种情况换不换都可以,如果不换的话,这就意味着 k 不能再与 i 之前的数进行交换,否则就会出现 k > ai,而 k 在 ai 前面,也就无法构成单调不减的数组,也就是说,只有前面的数已经满足题意了,才可以不换,否则就必须交换,只有交换了,才能够在接下来的遍历中拥有交换的权利,使得依然有可能构成单调不减的数组。
为了优化复杂度,可以预处理两个数组,order[i] 和 mx[i]。order[i] 表示下标 i 之前的数组是否单调不减;mx[i] 表示下标 i 之前的最大的数。

4. 给定一个 01 字符串,每次操作可以将字符串分成前后两个部分,然后将前后两个部分翻转再拼接,问最长能够得到的 01 交替字符串长度。
解题思路:观察这样的变化:++--|--++  ->  --++|++--。所谓的切分翻转拼接其实就是将前缀和后缀拼接,答案要么为原始字符串中最长交替字符串长度,要么最左边和最右边翻转过来的拼接得到的 01,条件是首尾字符不同。翻转一次就够了,题目说任意次操作有点误导人。

第一次分享思路,没表达清楚意思的话还请原谅。代码我发在评论区。
全部评论
点赞 回复 分享
发布于 2024-08-26 01:11 北京
有大佬发解答,让我学习一下吗
点赞 回复 分享
发布于 2024-08-25 21:16 湖北
算法岗也是同款题目
点赞 回复 分享
发布于 2024-08-25 20:49 福建
感觉比暑期实习的pdd简单啊😂
点赞 回复 分享
发布于 2024-08-25 18:40 上海

相关推荐

二十岁的编程男神王大...:读博吧兄弟,你这绩点太好了,何必转码,另外哈哈哈真见到有括号标出来985的,这个不标注也知道吧
点赞 评论 收藏
分享
04-16 10:27
已编辑
美团_Saas_后端开发
今天周一休息,突发奇想写一篇阶段总结。如题,我已经去了一个和Java彻底毫无关联的行业。曾经我以为自己能在计算机行业发光发热,拿到美团offer那会感觉自己天都亮了。没想到刚入行一年多就当了逃兵。从最开始的热爱到现在一看到代码就厌恶,不知道自己经历了什么。所以我去干什么了?答案是:在成都当了租房销售。上班那会压力大了就念叨着去干租房中介,但是一直下不去这个决心,想着自己学了四年多的计算机知识,终究还是不甘心。终于在某一天准备八股文的时候,看着无数篇和工作内容关系不大的理论知识,那一刻下定决心,决定尝试一下销售行业,也算是给自己一个交代。后面阴差阳错的投了成都自如去当租房管家,没想到面试很顺利,在当天一百多个面试的人里面,我成为了为数不多通过的几个幸运儿之一。目前已经培训通过,正式入职,也开了单,有压力但是每天过得很开心,真心喜欢那种和人交流的感觉,哪怕是最后没有选择找我租房。说这些也是想告诉那些大三,大四正在找Java实习而焦虑的同学:你们现在还年轻,选择很多,容错率也很高,可以尽情去尝试自己喜欢的行业和工作。不用因为某一次的面试没通过或者简历石沉大海而焦虑,更不用因为身边人都在挤编程的独木桥就强迫自己跟风。也算是自己的碎碎念吧,也希望自己能在新的领域取得一点小成就。也祝牛油工作顺利!
沉淀小子:干啥都不丢人啊,生存是必须要的,销售很考验一个人综合素质能力的,好的销售人脉和资源可不比写字楼的白领差啊
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

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