8.25 pdd笔试
暑期实习到现在秋招投递一共做了五六次笔试,这次是第一次全A😂
乍一看第一题是无向图,以为上来就要用并查集,正感叹放第一题难度不合理时突然发现题目描述另有玄机,n个点只有n-1条边并且输入保证是一棵树,说明没有循环节点,那一下子就好做很多,剪一条边一定会增加一个块,用贪心思路逐渐减掉最小的边计算价值再求max就通过了
礼物交换同样使用贪心策略,从后往前遍历,提前计算一个从前到后的是否有序的dp数据,再加一个判断逻辑就通过了
01子串计算一个从后到前的dp数据和一个从前到后的dpp数组,如果输入串的头和尾相同,直接输出不分割的最大长度ans,如果不相同,利用dp数组和dpp数组求分割再旋转拼接后的最大长度再和ans求max
----------------------------------
经评论区提醒,另一道题目是偶数变奇数的操作,如果数组里有奇数,那偶数可以通过加一个奇数变成奇数,操作数就是偶数的个数;如果没有奇数全是偶数,就计算每个偶数除以2变为奇数的右移位次数的最小值m,然后就和存在奇数的方法一样了,操作数是m+n-1
#拼多多笔试#
乍一看第一题是无向图,以为上来就要用并查集,正感叹放第一题难度不合理时突然发现题目描述另有玄机,n个点只有n-1条边并且输入保证是一棵树,说明没有循环节点,那一下子就好做很多,剪一条边一定会增加一个块,用贪心思路逐渐减掉最小的边计算价值再求max就通过了
礼物交换同样使用贪心策略,从后往前遍历,提前计算一个从前到后的是否有序的dp数据,再加一个判断逻辑就通过了
01子串计算一个从后到前的dp数据和一个从前到后的dpp数组,如果输入串的头和尾相同,直接输出不分割的最大长度ans,如果不相同,利用dp数组和dpp数组求分割再旋转拼接后的最大长度再和ans求max
----------------------------------
经评论区提醒,另一道题目是偶数变奇数的操作,如果数组里有奇数,那偶数可以通过加一个奇数变成奇数,操作数就是偶数的个数;如果没有奇数全是偶数,就计算每个偶数除以2变为奇数的右移位次数的最小值m,然后就和存在奇数的方法一样了,操作数是m+n-1
#拼多多笔试#
全部评论
还得是清华佬
最后一题直接直接输出不翻转的连续01串最大长度也可以过100%
佬 你这太强了吧
我敲 佬
另一个是获得全奇数数组的最少次数
第一题一定是只剪一条边的情况最大吗
我第一题超时了 是不需要sort吗,还是其他的
第一题没看到n-1条边,错过了啊
今天的题更像是考数学思维题,只要想通了代码很少
太强了佬
相关推荐