去哪兒筆試題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: 請寫出你所關心的領域。

相關文章
相關標籤/搜索