通过用C ++替换其他项来最大程度地降低成本
假设我们有一个包含N个元素的数组。我们必须按照给定的操作从数组中删除元素。操作就像,我们必须选择数组中的任意两个数字,然后删除更大的数字。此操作中包含的成本与较小的数量相同。基于此操作,我们一次只能删除一个元素,并以最小的成本执行任务。假设数组具有{4,2,5}。我取4和2,通过支付成本2删除4,然后我们再次将成本2删除5。
该方法太简单了。我们知道成本将与较小的成本相同,因此为了降低成本,我们将采用最小的成本,再加上其他一些要素,然后移除较大的成本,成本将一直为较小的成本。因此,总成本将是(N–1)*最小的数字。
示例
#include <iostream>
#include <algorithm>
using namespace std;
int getMinimumCost(int arr[], int n) {
int smallest = *min_element(arr, arr+n);
return smallest * (n - 1);
}
int main() {
int arr[] = { 4, 2, 5 };
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Minimum cost: " << getMinimumCost(arr, n);
}输出结果
Minimum cost: 4
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西