算法笔试模拟题精解之“打怪兽” <9算法笔试模拟题精解之“打怪兽”贡献者 | 郭达彬简介:根据题意,本题可使用贪心算法完成,策略是每次打怪兽都选择代价最小的一只。题目描述题目等级:容易知识点:排序、贪心查看题目:打怪兽现在有 3 只怪兽,他们的都有自己的血量 a,b,c(1<=a,b,c<=100),当 Tom 打死第一怪兽的时候花费的代价为 0,其余的怪兽的代价为当前的怪兽的血量减去上一个怪兽的血量的绝对值。问 Tom 打死这些怪兽所需要的最小代价 ?分别输入三只怪兽的血量;输出打死三只怪兽的最小代价。示例 1输入:25810>算法笔试模拟题精解之“打怪兽”输出:6解题思路:贪心根据题意,本题使用贪心算法完成,策略是每次打怪兽都选择代价最小的一只。由于第一次打怪兽的花费为 0,所以第一次可以打血量最小的(最大的也可以),接下来每次选择怪兽的时候就可以选择花费代价最小的。由于每次打怪兽的代价都是:当前怪兽的血量和上一个怪兽的血量的差的绝对值。于是可以得出结论,最小代价为所有怪兽血量的最大值减最小值。时间复杂度:O(1)空间复杂度:O(1)趁热打铁,题目直达链接:打怪兽
目录
157
0
收起右侧 展开右侧
程序员面试宝典 > 算法笔试模拟题精解之“打怪兽”
  • 读书笔记
    我的笔记
    暂无相关笔记,快来写一篇吧!
点击浏览下一章>>