摘要: 转载http://blog.csdn.net/hackbuteer1/article/details/7462447,感谢Hackbuteer1。全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢迎大家指出。首先来看看题目是如何要求的(百度迅雷校招笔试题)。一、字符串的排列用C++写一个函数, 如 Foo(const char *str), 打印出 str 的全排列,如 abc 的全排列: ab 阅读全文
posted @ 2014-03-26 15:04 chenzomi 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 转载http://blog.csdn.net/xc889078/article/details/9182891,感谢xc889078。2个字符串,把s1转换到s2最少操作,并且把这个操作过程输出。操作包括3种:删除一个字符,增加一个字符,改变一个字符,操作仅对s1执行,使其等于s2.算法思想:动态规划b[i][j]表示s1[1..i]和s2[1..j]之间最短编辑距离。显然初始b[0][j]=j;b[i][0]=i;因为s1为空,则需要增加j个字符,s2为空,则需要删除i个字符。递归公式:b[i][j]=min(b[i-1]][j]+1,b[i][j-1]+1,b[i-1][j-1]+(s1[ 阅读全文
posted @ 2014-03-26 15:00 chenzomi 阅读(437) 评论(0) 推荐(0) 编辑