2024-12-16:使数组中所有元素相等的最小开销。用go语言,给定一个整数数组 nums 以及两个整数 cost1 和 cost2,你可以进行以下两种操作多次:
1.选择数组中的某个元素的下标 i,将 nums[i] 增加 1,花费为 cost1。
2.同时选择数组中两个不同的下标 i 和 j,将 nums[i] 和 nums[j] 都增加 1,花费为 cost2。
你的目标是使数组中的所有元素相等,求达成此目标所需的最小总开销。由于结果可能很大,请将结果对 1000000007 取模后返回。
输入:nums = [4,1], cost1 = 5, cost2 = 2 。
输出:15 。
解释:
执行以下操作可以使数组中所有元素相等:
1.将 nums[1] 增加 1 ,开销为 5 ,nums 变为 [4,2] 。
2.将 nums[1] 增加 1 ,开销为 5 ,nums 变为 [4,3] 。
3.将 nums[1] 增加 1 ,开销为 5 ,nums 变为 [4,4] 。
总开销为 15 。
相似问题