
笔试/面试题
xiaoyi357
这个作者很懒,什么都没留下…
展开
-
找出函数的最宽尖峰
此题为2017年今日头条春招研发岗笔试题。(思路为“今日头条校园”公众号提供的解法) 题目要求:求给定数列A中先升后降(必须是先升后降,只升不降或者只降不升都不符合条件;输入的数组不存在相邻两个数相等的情况)的最长连续子序列,要求O(n) 思路:预处理使得up[i]表示以A[i]为结尾的连续最长上升序列的长度、down[i]表示A[i]为起始的连续最长下降子序列的长度,那么答案实际上就是m原创 2017-04-08 09:27:06 · 887 阅读 · 0 评论 -
今日头条2017春招笔试题——绘制括号序列
(注:题解来自于“今日头条校园”微信公众号)题意:给定一个合法的括号序列,以字符矩阵的形式翻转后输出。题解:先预处理每一个括号的深度,从而推出应打印的括号的大小,剩下的就是扫一遍处理下打印细节了。Java代码实现:import java.util.LinkedList;import java.util.List;public class Test { //原创 2017-04-08 16:56:38 · 1272 阅读 · 0 评论 -
今日头条2017春招研发岗笔试题——Paragraph
(注:题解方法来自于“今日头条校园”微信公众号)题意:给定一个英文段落(包含n个句子)和m次查询,每次给定一个句子,求段落中相同单词数量最多的句子。各个英文句子不包含标点,大小写不敏感。题解:一种简单的做法是对原文中的每个英文句子,都预处理包含的单词集合。对于每次查询,枚举句子中的单词到各个set查找是否存在,随后统计出现的次数取max即可。Java代码实现:import原创 2017-04-08 13:28:55 · 2478 阅读 · 0 评论 -
今日头条面试题(代码题)—— 查找字符串B的字符任意一种组合是否是字符串A的子串
题目要求:给定字符串A,B,其中B字符串不包含重复字符。 假设A="adcaaabcab", B="abc", 可知B中包含的字符的所有组合方式有以下6种:abc acb bac bca cab cba;只要A字符串的某个子串是以上6种情况种的任何一种,返回true, 如果这6种组合方式都不是A的某个子串,返回false。要是时间复杂度要足够低。思路:首先肯定不能使用穷举B中字原创 2017-04-12 22:13:07 · 2187 阅读 · 0 评论 -
使用阻塞队列实现生产者-消费者模式——Java实现
阻塞队列是一种基于数组实现的阻塞队列,它在构造时需要指定容量。当试图向满队列中添加元素或者从空队列中移除元素时,当前线程会被阻塞。通过阻塞队列,我们可以按以下模式来工作:工作者线程可以周期性的将中间结果放入阻塞队列中,其它线程可以取出中间结果并进行进一步操作。若工作者线程的执行比较慢(还没来得及向队列中插入元素),其他从队列中取元素的线程会等待它(试图从空队列中取元素从而阻塞);若工作者线程执行较原创 2017-04-17 22:05:08 · 970 阅读 · 0 评论