腾讯2020校园招聘-后台&综合-第三次笔试
1.电话号码
100, 一开始是90%的, 想了N分钟,一度肯定我的思路没有错,匆忙地跳过进行下一题了
回过头来怀疑他给的字符串长度 n 有问题, 果断 n = str.lenght(), 然后AC了....果然不要相信输入!
2.两两配对
100, 想法蛮简单的, 最大的跟最小的组合, 次大的和次小的组合,贪心,还没有准确的证明...
3.分组
给出n个数分为两组,平均分+-1,使两组数之差最小
30, 写了个DFS,选或者不选, 2^100 种情况,就算没有栈溢出,超时也是肯定的,我好菜啊...不会dp....
4.最小非零元素
100, 对数组排一下序, 每次都操作最小的非零正整数即可
5.异或值
给定两个长度为n的数组a,b; 求 a[i]+b[i] 组成共 n^n 个数里的异或值
60, 首先我对a,b数组里的重复元素进行了剔除,出现次数为双数的都不要, 因为 n^n=0, 0^n=n;减少了一部分数,最后依然是两两组合
例如 : a=[1,1,2,2], b=[1,2,3,4]
a里面的数全部剔除掉了,最后没有数与b进行组合, 输出 0
但是题目数量级是 n<=200000
上面的优化肯定是不够的,好难啊~ 异或操作的其他特性的想不到了呀~ 我好菜.....
最后
3,5题怎么做啊,求大佬解答
#腾讯##笔试题目#