好难,对于我来说。。。
涉及到。。。:
选择题:
TCP/IP 协议
android/IOS
C++(最多)
数据结构
编程题:
大整数乘法!(之前用Java写过,加减乘除,但是只记得思路!)
从一篇英语文章中,统计重复的单词数目!(有思路,但是不够时间!)
JNI !(我只知道这是android中,Java的远程调用C/C++的。。。)
唉~
迷茫2017-04-17 17:34:20
编程题第二题的思路(PHP版本):
function repeatArray($str){
preg_match_all('/\w/',$str,$array);
$uniqueArray = array_unique($array);
$repeat = array_diff_assoc($array,$uniqueArray);
return count($repeat);
}
没有实验过,欢迎指点
感觉鹅厂的题偏向于考试,比较注重基础,思维能力
天蓬老师2017-04-17 17:34:20
编程题:
1 大数乘法,leetcode的原题,去这里看高票答案是怎么写的
2 统计重复单词的数目。
两种思路:1)用哈希表统计出现单词的次数,c++11有stl有模板unordered_map可用,时间复杂度O(n), n是单词个数,实际上如果考虑到对每个单词求hash值时还要遍历每个单词,如果单词的平均长度是m的话,建表时间复杂度是O(m*n)。查找时间复杂度是O(1)。
2)开trie树,遍历所有单词,插入到树中,建树时间复杂度依然是O(m*n), 考虑到用哈希表存在检测冲突和二次探测的情况,trie树建树应该会稍快。但是查找略慢,时间复杂度为O(len),len是被查找单词的长度