按照官网公告似乎是最后一场?
选择题日常大杂烩:基数排序、概率论、栈和队列……
三道编程题:
1.多个样例,给出一个仅有r、e、d三种字母构成的字符串,可以将任意子序列red染为红色,O(n)判定是否能将整个字符串染成红色:
思维题,首先判定首位必须是r和d,然后分别从前往后遍历,判定d出现之前必须有e出现;再从后往前遍历,判定r出现之前必须有e出现
2.Python3手撕文本相似度计算。
又到了cpp选手的坐牢时间,a了第三题之后回来做着玩儿,凭感觉基本把过程写了个大差不差,就是余弦相似度计算和定义和我理解的不太一样,算出来结果有区别,没过
3.类似题1,给出一个仅有r、e、d三种字母构成的字符串,题意可以转化为求所有red子序列的长度和(原题干是所有“red子序列的下标之差的绝对值轮换求和”结果之和)
最开始写了个O(n^3)的暴力过了26.67%,后来发现犯蠢了,题意可以转化为直接求red子序列的长度。遂枚举每个r和d的距离即可,二者中间出现多少个e就乘以几倍(预处理e的个数的前缀和,即可O(1)查询r和d之间e的个数),算法复杂度应该是O(n^2logn),没想到提交直接ac了,不知道还有没有优化空间
这个点估计也没hc了,就许愿一个进面吧
#菜鸟# #菜鸟集团# #菜鸟笔试#
#秋招# #算法工程师# #算法岗#