各大公司笔试/面试题目(算法类)
gaopo_Y
这个作者很懒,什么都没留下…
展开
-
查找兄弟单词(2012/5/6 百度实习笔试题)
一个单词字母交换,可得另一个单词,如army->mary,成为兄弟单词。提供一个单词,在字典中找到它的兄弟。描述数据结构和查询过程。 方法一:首先用全排列方法写出该单词的所有可能兄弟单词。如army有4×3×2×1=24种结果(还没有优化有相同字符或大写字母的情况),然后用每一个'兄弟单词'去和字典中的单词匹配,找到即为兄弟单词。下面给出全排列算法的代码,最直接的就是用递归了: /**原创 2012-10-17 17:00:57 · 3415 阅读 · 2 评论 -
归并排序(2012/5/6 百度实习笔试题)
数组al[0,mid-1] 和 al[mid,num-1],都分别有序。将其merge成有序数组al[0,num-1],要求空间复杂度O(1) 首先回忆一下概念:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。算法如下: // 将有二个有序数列a[first...mid]和a[m原创 2012-10-18 19:40:38 · 928 阅读 · 0 评论