Python常用的算法——贪心算法(又称贪婪算法),你知道吗?
发布时间:2019-10-31 13:39:25 所属栏目:建站 来源:编程只为
导读:贪婪算法(又称贪默算法)是指,在对题目求解时,老是做出在当前看来是好的选择。也就是说,不从整体最优上加以思量,他所做出的的时在某种意义上的局部最优解。 贪婪算法并不担保会获得最优解,可是在某些题目上贪婪算法的解就是最优解。要会判定一个题目能
# 我们转化思绪,拼接字符串,较量功效
数字拼接代码如下:
4 勾当选择题目 假设有 n 个勾当,这些勾当要占用统一片园地,而园地在某时候只能供一个勾当行使。 每一个勾当都有一个开始时刻 Si 和竣事时刻 Fi (标题中时刻以整数暗示)暗示勾当在 [Si, fi) 区间占用园地。(留意:左开右闭) 问:布置哪些勾当可以或许使该园地举行的勾当的个数最多? ![]() 贪婪结论:最先竣事的勾当必然是最优解的一部门。 证明:假设 a 是全部勾当中最先竣事的勾当,b是最优解中最先竣事的勾当。 假如 a=b,结论创立 假如 a!=b,则 b 的竣事时刻必然晚于 a 的竣事时刻,则此时用 a 替代掉最优解中的 b ,a 必然不与最优解中的其他勾那时刻重叠,因此替代后的解也是最优解。 代码如下:
5 最大子序和 求最大子数组之和的题目就是给定一个整数数组(数组元素有负有正),求其持续子数组之和的最大值。下面行使贪婪算法逐个遍历。 代码如下:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |