代码改变世界

阅读排行榜

各大计算机公司 笔试及面试 题目 - 专题(字符串 二)

2011-09-29 21:45 by CSWolf, 485 阅读, 收藏,
摘要: 转载请注明作者:phylips@bmy出处:http://duanple.blog.163.com/blog/static/70971767200982584340501/1.求最长回文子串。[解法]:将整个字 符串反过来写在原字符串后面,中间用一个特殊的字符隔开。这样就把问题变为了求这个新的字符串的某两个后缀的最长公共前缀。而某两个后缀的lcs的计算利用后缀数组,可以O(1),这样总的复杂度就可以降为O(n)。eg:aabebf ----> aabebf&fbebaa假设存在一个回文串,则它具有如下特点,|------<---*--->--|&|--< 阅读全文

各大计算机公司 笔试及面试 题目 - 腾讯

2011-10-13 08:29 by CSWolf, 459 阅读, 收藏,
摘要: 1、把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。2、求N!后面0的个数。 阅读全文

各大计算机公司 笔试及面试 题目 - 专题(海量数据处理 一)

2011-09-29 19:28 by CSWolf, 455 阅读, 收藏,
摘要: 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。或者如下阐述(雪域之鹰):算法思想:分而治之+Hash1.IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理;2.可以考虑采用“分而治之”的思想, 阅读全文

各大计算机公司 笔试及面试 题目 - 深信服(八皇后问题)

2011-09-28 20:18 by CSWolf, 412 阅读, 收藏,
摘要: 八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当n= 1 或n≥ 4 时问题有解。在n×n格的棋盘上摆放n个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,求解满足条件的棋盘布局。n-皇后问题是典型的可以使用回溯算法求解的问题。如果你明白了问题的具体执行过程,也就对该问题的特点有了把握,从而选择合 阅读全文

字符串:KMP Eentend-Kmp 自动机 trie图 trie树 后缀树 后缀数组

2011-09-29 21:50 by CSWolf, 409 阅读, 收藏,
摘要: 涉及到字符串的问题,无外乎这样一些算法和数据结构:自动机 KMP算法 Extend-KMP 后缀树 后缀数组 trie树 trie图及其应用。当然这些都是比较高级的数据结构和算法,而这里面最常用和最熟悉的大概是kmp,即使如此还是有相当一部分人也不理解kmp,更别说其他的了。当然一般的字符串问题中,我们只要用简单的暴力算法就可以解决了,然后如果暴力效率太低,就用个hash。当然hash也是一个面试中经常被用到的方法。这样看来,这样的一些算法和数据结构实际上很少会被问到,不过如果使用它们一般可以得到很好的线性复杂度的算法。老实说,我也一直觉得字符串问题挺复杂的,出来一个如果用暴力,hash搞不定 阅读全文