随笔分类 -  百度笔试题

摘要:1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如的单词army和mary互为兄弟单词。解析: 现在要给出一种解决方案,对于用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地高。 字典树的典型应用,一般情况下,字典树的结构都是采用26叉树进行组织的,每个节点对应一个字母,查找的时候,就是一个字母一个字母的进行匹配,算法的时间复杂度就是单词的长度n,效率很高。因此这个题目可以定义一个字典树作为数据结构来查询的,时间效率会很高,这样就转化为在一棵字典树中查找兄弟单词,只要在字典树中的前缀.. 阅读全文
posted @ 2013-11-18 20:26 虔诚的学习者 阅读(340) 评论(0) 推荐(0)
摘要:1、extern“C”是什么含义?用来解决什么问题?分析: extern“C”包含双重含义,从字面上即可得到:首先,被它修饰的目标是”extern”的;其次,被它修饰的目标是”C”的。让我们来详细解读这两重含义。 extern“C”是指将该段代码以C语言形式进行编译、链接。由于C不支持函数重载,C与C++对于同一个函数编译后在符号表中保存的函数名字存在差异,故当进行C、C++混合编程时会出现一些问题。 用来解决C与C++程序连接问题,extern“C”实现C和C++的混合编程。2、写出至少两种设计模式,阐明其使用场景,有伪代码更好。分析: 单例模式、适配器模式、工场模式、装饰模式等23... 阅读全文
posted @ 2013-11-18 20:12 虔诚的学习者 阅读(403) 评论(0) 推荐(0)