hulu面经
第一面:
给定一个字符串,找出一个最长的子字符串,使得该子串最多包含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事后回想出来,面试官都没有看出来...

更多精彩