Python常用的算法——贪心算法(又称贪婪算法),你知道吗?(2)
发布时间:2019-10-29 19:34 所属栏目:21 来源:编程只为
导读:# 我们转化思路,拼接字符串,比较结果 a='128' b='1286' #字符串相加 a+b='1281286' b+a='1286128' a+bifa+bb+aelseb+a 数字拼接代码如下: fromfunctoolsimportcmp_to_key li=[32,94,128,1286,6,71] defxy_cmp(x,
# 我们转化思路,拼接字符串,比较结果
数字拼接代码如下:
4 活动选择问题 假设有 n 个活动,这些活动要占用同一片场地,而场地在某时刻只能供一个活动使用。 每一个活动都有一个开始时间 Si 和结束时间 Fi (题目中时间以整数表示)表示活动在 [Si, fi) 区间占用场地。(注意:左开右闭) 问:安排哪些活动能够使该场地举办的活动的个数最多? 贪心结论:最先结束的活动一定是最优解的一部分。 证明:假设 a 是所有活动中最先结束的活动,b是最优解中最先结束的活动。 如果 a=b,结论成立 如果 a!=b,则 b 的结束时间一定晚于 a 的结束时间,则此时用 a 替换掉最优解中的 b ,a 一定不与最优解中的其他活动时间重叠,因此替换后的解也是最优解。 代码如下:
5 最大子序和 求最大子数组之和的问题就是给定一个整数数组(数组元素有负有正),求其连续子数组之和的最大值。下面使用贪心算法逐个遍历。 代码如下:
(编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读