📌  相关文章
📜  用其他允许的替换来最小化成本

📅  最后修改于: 2021-10-26 02:30:06             🧑  作者: Mango

给定一个由 n 个整数组成的数组,我们可以通过以下操作删除该数组的一个元素。
操作:我们选择数组中的任意两个数字并删除较大的数字,此操作中包含的成本等于较小的数字。
您必须以最低成本执行上述操作,将数组缩减为单个元素。
例子:

由于我们必须将数组缩减为单个元素,并且假设如果我们选择任意两个数字,则删除较大数字的成本等于较小数字。所以为了最小化总成本,我们总是取最小的数字和其他数字来删除它。所以总成本将是 (n-1)* 最小的数字。

C++
// C++ Program for the above approach
#include 
using namespace std;
 
// this function returns the minimum
// cost of the array
int getMinCost(int arr[], int n)
{
    int min_ele = *min_element(arr, arr+n);
    return min_ele * (n - 1);
}
 
int main()
{
    int arr[] = { 4, 2, 5 };
    int n = sizeof(arr)/sizeof(arr[0]);
    cout << getMinCost(arr, n) << endl;
    return 0;
}


Java
// Java Program for the above approach
import java.util.Collections;
import java.util.Arrays;
 
public class GfG {
     
    // This function returns the minimum
    // cost of the array
    public static int getMinCost(Integer arr[], int n)
    {
        int min_ele = Collections.min(Arrays.asList(arr));
        return min_ele * (n - 1);
    }
     
    // Driver code
    public static void main(String []args){
         
        Integer[] arr = { 4, 2, 5 };
        int n = arr.length;
         
        System.out.println(getMinCost(arr, n));
    }
}
 
// This code is contributed by Rituraj Jain


Python3
# Python3 Program for the above approach
 
# Function returns the minimum
# cost of the array
def getMinCost(arr, n):
    min_ele = min(arr)
    return min_ele * (n - 1)
 
# Driver Code
arr = [4, 2, 5]
n = len(arr)
print(getMinCost(arr, n))
 
# This code is contributed
# by Shrikant13


C#
// C# Program for the above approach
using System;
using System.Linq;
 
class GfG
{
     
    // This function returns the minimum
    // cost of the array
    public static int getMinCost(int []arr, int n)
    {
        int min_ele = arr.Min();
        return min_ele * (n - 1);
    }
     
    // Driver code
    public static void Main(String []args)
    {
        int[] arr = { 4, 2, 5 };
        int n = arr.Length;
         
        Console.WriteLine(getMinCost(arr, n));
    }
}
 
// This code contributed by Rajput-Ji


PHP


Javascript


输出:
4

如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程学生竞争性编程现场课程