注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
OA的title是“VMware - CNA - Jr/Mid Level - {HR 名字}”, 60分钟一道题。 周三被HR在linkedin上联系,说我的background很适合他们的cloud native app组,我说感兴趣后立刻发过来了这个OA的骇客run课的链接,deadline 4天。地里搜了他家的OA面经可是全没遇到,可能是这个组今年的新题吧,希望能帮助到大家。废话少说上题:
给5个argument: input_string, N, K, L, M, 分别代表字符串,N-字符串长度,K-最短子串长度,L-最长子串长度,M-最多不同字符的数量
要求是找出字符串中出现频率最高的子串的出现次数,只有 K <= len(子串) <= L 并且子串中不同字符的数目不超过M的算。
还有一点注意你要自己写出parse STDIN的code来给你的函数提供argument
输入的范围是 2 <= N <= 100000
2 <= k <= L <= 26, L < N
2 <= M <= 26
e.g. 给 "abcde& return result
print most_frequent_substring("abcdababcd", 10, 2, 4, 26)
print most_frequent_substring("ababababab", 10, 2, 4, 2)
print most_frequent_substring("abcdeabcde", 10, 2, 4, 3)
最后提交也没说对错,也不告诉哪个test case没过,就这么结束了。。。
提交后想想其实可以主体用sliding window然后检查子串长度,这样O(n)就可以解决了。。。
|