第一面:

给定一个字符串,找出一个最长的子字符串,使得该子串最多包含k个不同的字符?

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

升级版:输入的字符串无限长, 每次读取一个当前字符后,不能再次被读取,怎么办?

我问了一下空间复杂度是O(1)吗,对方说是O(k)....OK,问题就解决了。

 

次日第二面+第三面。

第二面:

两个瓶子扔楼梯的问题。

将一个括号字符串解析成一棵树。

3*3的华容道怎么做?

输入m, n,k,输出m*n的乘法表中第k小的数字。也就是矩阵的a[i][j] = i*j

 

第三面:

长度为20的扑克牌。正面数字为a[i], 反面数字为b[i], 两个人轮流选牌, 先手的得分为选中的牌的正面数字和,后手得分为选中的牌的反面数字和。先手最优策略下,比后手得分多多少?

长度为1e6怎么做?不会,提示我如果有两张扑克牌,应该怎么选,OK,  解决。

 

给定一个数组,问最多能不重复地选出多少对数字,使得 |xi - xj| >= k? 比如x[] = {1,4,7,8},k = 3, 答案是2, (1, 7), (4, 8)两对都满足。

不会。提示我可以先解决判定性问题,能不能选出m对?

还是不会。

参考答案:

一开始我从前往后找,给每一个数找最小的匹配方案,遇到1478, k=3就有bug了,我的方案1是和4匹配的...

 

 

 

 

感觉凉了。

 

update: 拿到offer了。

update2: 回想起来有一道题写错了面试官没发现。

update3: 有不止一个bug事后回想出来,面试官都没有看出来...

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄