![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日积月累之算法
JuliaJu
这个作者很懒,什么都没留下…
展开
-
算法->编程之美3.3 计算字符串的相似度
转 问题: 1. 计算两个字符串的最长公共子序列(LCS),且公共子序列在字符串中不需要是连续的。 2. 计算两个字符串的距离,完全相同的字符串距离为0,可以通过修改一个字符、增加一个字符或删除一个字符三种方式来使两个字符串相同,但这些方式会使得距离加1。 1.解法: 这两个问题的解法基本相同,都是二维的动态规划,都考虑字符串的后缀(实际上用动转载 2014-06-25 20:10:52 · 604 阅读 · 0 评论 -
算法->判断单链表环的入口
2、经过第1步确认存在环后,寻找环入口点: 算法描述: 当fast若与slow相遇时,slow肯定没有走遍历完链表,而fast已经在环内循环了n圈(1 2s = s + nr s= nr 设整个链表长L,入口环与相遇点距离为x,起点到环入口点的距离为a。 a + x = nr a + x = (n – 1)r +r = (n-1)r + L - a a = (n-1原创 2014-06-26 00:28:53 · 585 阅读 · 0 评论 -
算法->编程之美2.2 N!末尾有多少个0
N的阶乘末尾有多少个0 思考:0来自何方? 10*10*10*。。。乘以10就会产生0。 那么N!可以写成下面这种形式: 且K不能被10整除,那么N!的末尾就有M个0。 那么M是多少呢=>将N!进行质因数分解 需要M个2和M个5来组成M个10,N!一共有X个2,Z个5,所以M=min(X,Z); 偶数都能被2整除,都能贡献出质数2来,能被5整除的就相对就少原创 2014-06-12 09:51:20 · 794 阅读 · 0 评论 -
算法->编程之美2.5 寻找最大的K个数
转自:http://blog.csdn.net/insistgogo/article/details/7689297 题目描述:输入n个整数,输出其中最大的k个。 举例:输入序列1、2、3、4、5、6、7、8,输出最大的4个数字为5、6、7、8。 可能存在的条件限制: 要求 时间 和 空间消耗最小、海量数据、待排序的数据可能是浮点数等 方法一:对所有元素进行排序,之后转载 2014-06-14 09:55:04 · 1072 阅读 · 0 评论 -
算法->完全背包问题 UVa 674 Coin Change
题目大意:有5种硬币, 面值分别为1、5、10、25、50,现在给出金额,问可以用多少种方式组成该面值。转载 2014-07-04 17:43:20 · 789 阅读 · 0 评论 -
算法->Trie树 兄弟单词
1. 给定一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的兄弟单词,例如单词army和mary互为兄弟单词。现在给定一个字典,用户输入一个单词,如何根据字典找出这个单词有哪些兄弟单词?要求时间和空间效率尽可能的高。【2012年百度实习生招聘笔试题】 思路一:使用trie树。 在字典树的前缀中再存储一个vector结构的容器: Cpp转载 2014-07-25 16:34:09 · 596 阅读 · 0 评论 -
算法->《编程之美》2.18——数组分割新思路(包含分类后数组的输出)
转自: http://blog.csdn.net/wumuzi520/article/details/7028705 本文说是《编程之美》2.18新思路,其实也是July的《微软等公司面试100题》上的32题的解法。 两个序列大小均为n,序列元素的值为任一整数,无序; 要求通过交换两个序列的元素,使序列a元素之和与序列b的元素之和的差最小(可能存在很多种组合,转载 2014-06-21 20:05:20 · 945 阅读 · 0 评论