字节跳动校园招聘产品经理岗位笔试题目(字节跳动用户产品经理笔
字节跳动校园招聘产品经理岗位笔试题目(字节跳动用户产品经理笔试)、本站经过数据分析整理出字节跳动校园招聘产品经理岗位笔试题目(字节跳动用户产品经理笔试)相关信息,仅供参考!
昨晚是头条春招的第一次笔试。测试结束后,我们收到了很多如何解决问题的信息,各大技术论坛也在热烈讨论。
所以,我们特别邀请各位大神为您提供官方正版解题思路,真心分享干货,不要错过哦~
本次在线笔试共有四道编程题(不同方向的题略有调整)。四道题涵盖了序列、字符串、数据结构等基础知识,包括纯代码实现和算法设计。
问题1。找到函数的最宽峰值
精确度1149/5371
含义求给定序列a中先升后降的最长连续子序列需要O(n)。
解决方法简单的问题。预处理左[i]表示以A[i]结尾的最长连续升序序列长度,右[i]表示以A[i]开头的最长连续降序序列长度,所以答案其实是max{left[i] right[i]-1}。更新答案时,记录最佳间隔。
唯一的诀窍是左[i] 1和右[i] 1必须满足,这个在题目中已经解释过了。
问题2。段落
精确度732/3732
含义给定一个英语段落(包含N个句子)和M个查询,每次给一个句子,找出段落中相同单词数量最多的句子。英语句子不含标点,不区分大小写。
问题方法很多,时间卡松了。一个简单的方法是对原文每个英文句子中包含的单词集合进行预处理(如果使用哈希集合,这一步的复杂度为O(n w))。对于每个查询,枚举句子中的单词,找出它们是否存在于每个集合中,然后统计出现次数,取max。这个查询部分的总复杂度是O(m w n)。
更快的方法是使用哈希映射来维护哪些原始句子中的所有单词出现在原始文本中。这个预处理的复杂度也是O(n w)。在每次查询中,枚举句子中的单词,统计原文中出现过的句子,取所有计数中的max作为答案。部分查询复杂度为O(m (w n))。
无论哪种方式,最重要的技巧是去除每个单词的权重,以防止多次计数。很多同学踩到了代码的这个漏洞。
Prob。3画一系列的括号
精确度87/1655
含义给定一个合法的括号序列,以字符矩阵的形式翻转输出。
问题解决方案代码实现问题。,预处理每个括号的深度,从而推断出要打印的括号的大小。剩下的就是扫描处理打印细节了。一个可能的技巧是小心不要在行尾输出额外的空格。
Prob。4序列
精确度36/4550
含义给定A和B两个数列和Q组查询(x,y),求每次满足A[i]=x和B[i]=y的I的个数。
问题暴力O(n q)的做法可以通过30%的数据。考虑所有原始(A[i],B[i])整数对按A排序,所有查询按x排序,然后所有查询(x[i],y[i])从小到大扫描,维护一个指针K指向AB对中满足A[k]=x[i]的位置。对于当前查询,需要的是满足B[k]=y[i]的大于k的位置的数量。所以我们需要维护一个支持insert/delete/lower_bound的高效数据结构来维护b的当前合法值,满足条件的有树数组、平衡树等。它们的复杂度是日志级别的。(如果从后向前维护K,可以省略删除操作)
的总复杂度为O(n qlogn)。
4月18日头条还有第二次笔试,
想挑战的同学可以登录job.toutiao.com/campus提交简历!
更多关于字节跳动校园招聘产品经理岗位笔试题目(字节跳动用户产品经理笔试)的请关注本站。