快手【实习】网络研发工程师-【基础平台】

1. 单词反转
2. 石子游戏

Alice 和 Bob 在玩一个取石子的游戏,有 n 堆石子,第 i 堆有 ai 个石子,两个人轮流行动,Alice 先手。每个人每次行动必须选择一堆非空的石子,拿走其中的一部分石子,谁不能行动谁就输了。

他们玩过很多次这个游戏之后都觉得太无聊了,于是决定给游戏增加一个要求:当某个人要拿第 i 堆中的石子时必须要保证第 1 .. i-1 堆的石子都已经拿光了。也就是说两个人必须先拿光第 1 堆中的石子,然后再拿第 2 堆的,第 3 堆的……以此类推。

所以现在问在这个新游戏规则下,两个人都知道石子的堆数和每堆的数量,假设两个人都绝顶聪明而且不会失误,先手的 Alice 是否一定可以必胜?

输入描述
		
		

每组测试用例仅包含一组数据,每组数据第一行为一个正整数 n (1 ≤ n ≤ 60) , 接下来一行有 n 个整数 ai 表示第 i 堆的石子数量( 1 ≤ ai ≤ 1000000000)。

输出描述
		
		

如果 Alice 必胜,输出 Alice,否则输出 Bob。

对于样例,Alice 第一步只能拿走第 1 堆上的 1 个石子,接下来 Bob 只要拿走第 2 堆上的全部石子即可获胜。但如果两堆石子数分别是 2 1 ,那么 Alice 就必胜了。

示例1

输入

2 1 2

输出

Bob
3. 前缀树:有一个正整数数组和一个输入x,要求找到与x从头开始连续匹配最多比特位的数
#快手##笔经##网络工程师#
全部评论
你好,同学 , 你结果怎么样了 , 一共几面
点赞 回复
分享
发布于 2020-05-25 18:28
请问这两道是手撕算法吗?面试都问些什么呢?
点赞 回复
分享
发布于 2020-05-27 19:37
联想
校招火热招聘中
官网直投

相关推荐

     又挂了,估计后面会叕挂了。这次面试官依旧很好,全程引导,面了半小时项目和场景题,然后又聊了20分钟,给了我很多建议(非常感谢),没有问八股也没有手撕。题目如下(黑马点评项目):1. 数据库的表怎么设计的,用户表都存了那些字段。2.userid怎么设计?我说可以随机。他说那你觉得随机会不会有问题?我说有可能会重复。他说,这也是个问题,那你该如何设计userid?我说自增?他问为什么要自增?答不上来了3. 讲一下乐观锁解决超卖?说一下修改库存的sql代码?4. 讲一下一人一单5. 讲一下分布式锁是怎么实现的。6. 讲一下消息队列的作用,一般什么情况下使用。7. 我们前面说的是正常的情况,下面我们讨论一下异常的情况,该怎么应对redis宕机?8.高并发的情况下频繁的修改库存,你该怎么办呢?我说100的库存,可以分成十份,这样就从访问一个key,变成访问10个key了。他说那数据库那边呢?我说可以将修改库存的操作放入消息队列中,异步的去操作。        项目的问题基本上就到这里了,还有几个小问题记不太清了,希望能帮到大家。        总结:整体表现比上次面蚂蚁强一些,就是前两个问题答的太稀碎了,自己看项目的时候太粗糙了。面试官一问我表的相关字段,脑子直接懵掉了        小建议:面试要早一些,先面个一次两次的,一方面是像别人说的,早来坑位更多,另一方面我觉得是可以及时的认识到自己的差距,及时调整。我在面试前准备了一个月左右,然后每天都悠哉悠哉的,一天学个两三个小时。如果不是这两次面试的话,我估计会继续悠哉悠哉到五月份,到时候才警醒就更难了。        加油加油!明天还有个团子,面完这一个,就先修整一段时间,沉淀沉淀,再继续面了。       可以失败,但永不放弃。失败了不可怕,犯错误了也不可怕,关键是面对失败,面对挫折,是选择沉沦,或者继续悠哉悠哉,还是做出改变,努力去提升自己。我想做第三种。
点赞 评论 收藏
转发
点赞 11 评论
分享
牛客网
牛客企业服务