- Python算法指南:程序员经典算法分析与实现
- 李永华
- 276字
- 2021-03-28 12:47:26
例15 合并数字
1. 问题描述
给出n个数,将这n个数合并成一个数,每次只能选择两个数a、b合并,合并需要消耗的能量为a+b,输出将n个数合并成一个数后消耗的最小能量。
2. 问题示例
给出[1,2,3,4],返回19,即选择1、2合并,消耗3能量;现在为[3,4,3],选择3、3合并,消耗6;现在为[6,4],剩下两个数合并,消耗10,一共消耗19。给出[2,8,4,1],返回25,即选择1、2合并,消耗3能量;现在为[8,4,3],选择3、4合并,消耗7,现在为[7,8],剩下两个数合并,消耗15,一共消耗25能量。
3. 代码实现
4. 运行结果
输入:[1,2,3,4,5]
输出:33
输入:[6,7,8,9,10]
输出:93