在C++中,找到使数组所有元素相等所需的操作次数

在c++中,找到使数组所有元素相等所需的操作次数

在这个问题中,我们得到一个大小为 n 的数组 arr。我们的任务是找到使所有数组元素相等所需的操作数

该操作定义为从权重最大的元素到所有元素的相等权重分布数组的元素

如果不可能使数组元素相等,则打印 -1。

让我们举个例子来理解这个问题,

立即学习“C++免费学习笔记(深入)”;

Input : arr[] = {7, 3, 3, 3}Output : 3

登录后复制

说明

分配后的数组为 {4, 4, 4, 4}

解决方法

解决该问题的一个简单方法是找到数组的最大值。然后使用这个最大值检查数组的所有元素是否相等,并且该值是否等于数组的最大值减去n(或其倍数)。如果是,则返回n,如果否,则返回-1(表示不可能)。

示例

我们举个例子来理解一下问题

#includeusing namespace std;int findOperationCount(int arr[],int n){   int j = 0, operations = 0;   int maxVal = arr[0];   int minVal = arr[0];   int maxValInd = 0;   for (int i = 1; i  maxVal){         maxVal = arr[i];         maxValInd = i;      }      if(arr[i] 

输出

The number of operations required to make all array elements Equal is 3

登录后复制

以上就是在C++中,找到使数组所有元素相等所需的操作次数的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2583989.html

(0)
上一篇 2025年3月6日 14:42:20
下一篇 2025年2月21日 17:39:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论