去哪儿笔试题2015 - 研发

1. 有序数列二分查找

最简单,最纯粹的二分查找问题,应该是用循环的方法去作的话会得分较高。正则表达式

2. 寻找第一个出现两次的字符

**举个例子:**字符串“qywyer23tdd”中第一个出现了两次的字符串是'y'算法

解法1: O(n^2)的效率。也就是最简单的两重循环。数组

解法2: 更好也更多被采用的,hash方法。定义一个256的数组就能够了。google

**我的点评:**很容易联想到《剑指offer》中谈到过的寻找字符串中第一个只出现一个的字符,因此解法就不言而喻了。排序

3. 多个字符串中,搜索“your”子串,并按出现次数排序

详述题目:给出一个文本输入,要求输出全部包含子串“your”的行,不考虑大小写。而且将行按照your出现的次数由高到低前后输出。字符串

涉及了子串问题,很容易想到的是KMP算法。但"your" 中每一个字母都不重复,因此能够简化判断,若是遇到不相同的字符,则直接将当前位置与子串下标为0的字符进行比较。hash

**我的点评:**问了下其余同窗,Java貌似有用正则表达式来作匹配的,这是一个能够考虑的点。听到这里表示不熟悉。效率

附加1:

描述下Object-C 中delegate 关键字的做用。搜索

这能够问google。循环

##附加2: 请写出你所关心的领域。

相关文章
相关标签/搜索