分金条

这是一种求最小花费的问题,而且总共的代价是由子代价累加得到的,可以使用哈夫曼树来解决。
1 | public int min_money(int[] arr){ |
502. IPO
1 | public class Node{ |
会议室项目宣讲
一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲。 给你每一个项目开始的时间和结束的时间(给你一个数组,里面 是一个个具体的项目),你来安排宣讲的日程,要求会议室进行 的宣讲的场次最多。返回这个最多的宣讲场次。
贪心策略:
- 开始时间最早的项目先安排。反例:开始时间最早,但持续时间占了一整天,其他项目无法安排。
- 持续时间最短的先安排。反例:这样安排会导致结束时间在此期间和开始时间在此期间的所有项目不能安排。
- 最优策略:最先结束的项目先安排。
1 | public class Program{ |