文章分类 -  Leetcode刷题 / 贪心算法

摘要:活动选择问题 假设有n个活动,这些活动要占用同一片场地,而场地在某时刻只能供一个活动使用。 每个活动都有一个开始时间s和结束时间f(题目中时间以整数表示) ,表示活动在[Si, f)区间占用场地。 问:安排哪些活动能够使该场地举办的活动的个数最多? 解题思路: 贪心结论:最先结束的活动一定是最优解的 阅读全文
posted @ 2023-06-17 22:23 天才九少 阅读(97) 评论(0) 推荐(0) 编辑
摘要:拼接最大数字问题 有n个非负整数,将其按照字符串拼接的方式拼接为一个整数。如何拼接可以使得得到的整数最大?例: 32,94,128,1286,6,71可以拼接除的最大整数为94716321286128 from functools import cmp_to_key li = [32, 94, 12 阅读全文
posted @ 2023-06-17 22:08 天才九少 阅读(62) 评论(0) 推荐(0) 编辑
摘要:背包问题 一个小偷在某个商店发现有n个商品,第i个商品价值vi元,重w;千克。他希望拿走的价值尽量高,但他的背包最多只能容纳W千克的东西。他应该拿走哪些商品? 问题思路:每次拿性价比最高的东西,即v/w价值最大的东西,拿满之后拿第二价值高的东西,以此类推 分数背包:对于一个商品,小偷可以拿走其中任意 阅读全文
posted @ 2023-06-16 20:33 天才九少 阅读(6) 评论(0) 推荐(0) 编辑
摘要:找零问题 假设商店老板需要找零n元钱,钱币的面额有: 100元、50元、20元、5元、1元,如何找零使得所需钱币的数量最少? 解题思路:从最大面值的开始找,先找100,再找50,以此类推 # 贪心算法,找零问题 t = [100, 50, 20, 5, 1] def change(t, n): # 阅读全文
posted @ 2023-06-16 20:21 天才九少 阅读(62) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示