问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : mad ...
分类:
其他好文 时间:
2018-03-09 19:03:18
阅读次数:
170
注:贪心算法是一种比较简单的算法。贪心算法总是会选择当下的最优解,而不去考虑这一次的选择会不会对未来的选择造成影响。(以寻找优质解为手段,从而达成整体解决方案的算法) ...
分类:
编程语言 时间:
2018-03-09 15:08:46
阅读次数:
238
一、问题:图的最短路径 定义图G=(V,E),而且每条边上的权值非负,求顶点s 到图中任意一点的最短距离。图中任意两点之间的距离定义为:路径上所有边的权值的和。 二、算法:Dijkstra算法 设S是探查的顶点的集合,对每个,我们存储一个距离d(u) 初始S={s},d(s)=0 While S ! ...
分类:
编程语言 时间:
2018-03-03 17:02:56
阅读次数:
193
一、贪心算法 定义:一个算法是贪心算法,如果它是通过一些小的步骤来一个求解,并且在每一步根据局部情况选择一个决定,使得某些主要的指标得到优化。 二、区间调度问题 1. 问题:我们有一组需求{1,2,3,......,N},第i个需求与一个开始时间s(i),结束时间f(i)相对应。如果没有两个需求在时 ...
分类:
编程语言 时间:
2018-03-03 12:28:24
阅读次数:
295
题目截图: 思路: 贪心算法。先找到不是 0 且最小的数输出,然后从小到大依次输出即可。注意:如果可以用 for 循环,那就不要用 while,效率极低。 代码: ...
分类:
其他好文 时间:
2018-02-28 16:27:38
阅读次数:
125
《算法导论》读书笔记之第16章 贪心算法—活动选择问题 前言:贪心算法也是用来解决最优化问题,将一个问题分成子问题,在现在子问题最优解的时,选择当前看起来是最优的解,期望通过所做的局部最优选择来产生一个全局最优解。书中先从活动选择问题来引入贪心算法,分别采用动态规划方法和贪心算法进行分析。本篇笔记给 ...
分类:
编程语言 时间:
2018-02-25 14:41:10
阅读次数:
309
思路:这个问题在于选择,我想最多的情况是每一个都要一个袋子, 就是把从大到小排序,最大的最校的结合就可以了 ...
分类:
编程语言 时间:
2018-02-16 15:19:50
阅读次数:
222
贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考虑一个数据,他的选取应该满足局部优化的条件。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,直到把所有数据枚举完,或者不能再添加算法停止 值得注意的是贪 ...
分类:
编程语言 时间:
2018-02-08 17:40:47
阅读次数:
190
贪心算法总结 一、算法思想 贪心法的基本思路: 从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到某算法中的某一步不能再继续前进时,算法停止。 该算法存在问题: 1. 不能保证求得的最后解是最佳的。 2. 不能用来求最大或最小解问题; 3. 仅仅能求满足某些约束条件的可行 ...
分类:
编程语言 时间:
2018-02-05 23:15:23
阅读次数:
206
贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只 ...
分类:
编程语言 时间:
2018-02-04 19:40:15
阅读次数:
195