用 Python 编写程序,查找合并石头的最低成本

pythonserver side programmingprogramming更新于 2025/12/9 15:08:17

假设我们有 N 堆石头排成一排。这里第 i 堆有 stone[i] 个石头。移动包括将 K 个连续的堆合并为一个,现在此移动的成本等于这 K 个堆中的石头总数。我们必须找到将所有堆石头合并为一个的最低成本。如果没有这样的解决方案,则返回 -1。

因此,如果输入为 nums = [3,2,4,1],K = 2,则输出将为 20,因为最初有 [3, 2, 4, 1]。然后合并 [3, 2] 和成本 5,我们得到 [5, 4, 1]。之后合并 [4, 1] 和成本 5,我们得到 [5, 5]。然后将 [5, 5] 与成本 10 合并,得到 [10]。因此,总成本为 20,这是最小成本。

要解决这个问题,我们将遵循以下步骤 −