H******7 发帖数: 1728 | 1 问2个BB面试问题:
1 如果在一个头文件里定义了static variable, 这个头文件被包含在多个.c文件里。
是否可行。有什么问题?
2 如何实现 搜索建议,比如在搜索引擎对话框里打 abc,能返回所有包含abc的字符串
。
这个用什么数据结构比较好,。怎么跟面试官表达阐述自己的思路?、
谢谢了! |
y**i 发帖数: 1112 | 2 1. 我记得是static global variable的作用域只是当前文件,所以应该不能被其他包
含它的文件使用。
2. 用trie |
H******7 发帖数: 1728 | 3 1 我记得也是。STATIC的作用之一就是避免名字冲突
2 谢谢,这个线索very helpful
【在 y**i 的大作中提到】 : 1. 我记得是static global variable的作用域只是当前文件,所以应该不能被其他包 : 含它的文件使用。 : 2. 用trie
|
b*******s 发帖数: 5216 | 4 第二个trie可以再加跳表
就是建立一个a to z的表,每个表拉一个链表指向所有同值的trie里面的节点
额外的存储空间是节点数量 * 指针长度
这样你要查abc时,可以直接遍历所有a的,然后检查 |
b******n 发帖数: 4509 | 5 应该是可行的,因为 include 是 preprocessing,相当于在每个 .c 中
声明了一个 static 变量,不会冲突
【在 y**i 的大作中提到】 : 1. 我记得是static global variable的作用域只是当前文件,所以应该不能被其他包 : 含它的文件使用。 : 2. 用trie
|