算法
文章平均质量分 58
Iris_xixi
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
贪心算法:最优分解问题
问题描述:设n是一个正整数,现要求将n分解为若干个互不相同的自然数的和,使这些自然数的乘积最大.代码如下:int BestMul(int n) { int i,j,mul=1; int num; //初始化一个数组,用来存放分解后的每个数 int a[MAX] = {0}; a[0]=2; num=n-2; //利用for循环来从2开始递增,每原创 2016-05-26 11:16:12 · 7609 阅读 · 0 评论 -
编辑距离
问题:设A和B是两个字符串,要用最少的字符操作将字符串A转换成字符串B. 这里所说的字符串操作包括: (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符; 将字符串A变换成字符串B所用的最少字符操作数成为字符串A到字符串B的编辑距离. 这个问题我们使用动态规划.动态规划的思想和分治法很像,都是将大问题化小,但是不一样的是,动态规划的子问题往往不是独立的,它总是由原创 2016-05-05 13:55:29 · 783 阅读 · 0 评论 -
最大K乘积问题
问题描述:输入n和k,其中n为十进制数长度,k为分的段数,然后输入一个长度为n的十进制数,算出分成k段之后最大的乘积 例:输入1234 有以下结果 1x2x34=68,1x23x4=92,12x3x4=144,最大乘积为144 我们利用MaxI[n][k]表示长度为n的最大k乘积,用I(s,t)表示从s开始到t的十进制数,当我们的k=1时(即只分成一段)最大值就是本身即I(1,n);如果k>原创 2016-05-05 14:11:52 · 643 阅读 · 0 评论 -
伪币问题
因为本题使用了分治法,我先介绍一下分治法的思想吧 分治法的基本思想就是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同.递归的解这些子问题,然后将各个子问题的解合并得到原问题的解. (其实就是把一个大问题不断的分小,然后一个个解决啦) 题目:设有16枚硬币,其中有一枚伪币,真币重量都一样,伪币质量比真币轻,现在要找出那枚伪币 分析:16枚硬币,我们可以分原创 2016-05-05 13:25:15 · 1556 阅读 · 0 评论
分享