- Python编程300例:快速构建可执行高质量代码
- 李永华编著
- 216字
- 2021-03-26 23:33:21
例53 石子归并
1.问题描述
石子归并的游戏。有n堆石子排成一列,目标是将所有的石子合并成一堆。合并规则如下:
每一次可以合并相邻位置的两堆石子;每次合并的代价为所合并的两堆石子的重量之和;
求出最小的合并代价。
2.问题示例
输入[3,4,3],输出17,合并第1堆和第2堆=>[7,3],score=7;合并两堆=>[10],score=17。
输入:[4,1,1,4],输出18,合并第2堆和第3堆=>[4,2,4],score=2,合并前两堆=>[6,4],score=8;合并剩余的两堆=>[10],score=18。
3.代码实现
4.运行结果
输入:[3,4,3]
输出:17