当前位置: 首页 > 编程笔记 >

在C ++中执行给定操作后,数组中最大数目的相等数

陆俊捷
2023-03-14
本文向大家介绍在C ++中执行给定操作后,数组中最大数目的相等数,包括了在C ++中执行给定操作后,数组中最大数目的相等数的使用技巧和注意事项,需要的朋友参考一下

给我们一个整数数组。目标是在执行给定操作后找到数组中等于的最大数-

    list-paddingleft-2">
  • 选择两个元素a [i]和a [j],使i!= j和

  • 递增a [i]并递减a [j](a [i] ++,a [j]-)

我们将取数组的总和除以元素数。如果N是数组的大小,则

如果sum可被N整除,则相等的数字也将为N,否则相等的数字将为N-1。

输入值

Arr[]= { 1,2,3 }

输出结果

最大数目等于 3

说明-第一步Arr [] = {2,2,2}递增1递减3元素之和为1 + 2 + 3 = 6,6%3 == 0,因此等于3

输入值

Arr[]= { 1,2,4 }

输出结果

最大数目等于 2

说明-第一步Arr [] = {1,3,3}递增2并递减4元素的总和为1 + 2 + 4 = 7,7%3 == 1,因此相等的数字= 3-1 = 2

以下程序中使用的方法如下

    list-paddingleft-2">
  • 整数数组Arr []用于存储整数。

  • 整数“大小”存储数组的长度。

  • 函数maxEqual(int arr [],int n)接受一个数组,将其大小作为输入,并在应用给定操作后返回该数组中存在的最大等号数。

  • 首先,我们将计算数组元素的总和并存储在“ sum”中

  • 现在,按大小n(sum%n == 0)检查总和的可除性。

  • 如果可整,则返回n

  • 否则返回n-1作为结果。

示例

#include <bits/stdc++.h>
using namespace std;
int maxEqual(int arr[], int n){
   int sum = 0;
   for (int i = 0; i < n; i++){
      sum += arr[i];
   }
   if (sum%n==0){
      return n;
   }
   return n-1;
}
int main(){
   int Arr[] = { 1, 4, 1, 2};
   //数组的大小
   int size =4;
   cout <<" 最大数目等于"<< maxEqual(Arr,size);
   return 0;
}

输出结果

Maximum count of equal numbers: 4
 类似资料:
  • 本文向大家介绍在C ++中执行给定操作后的最终字符串,包括了在C ++中执行给定操作后的最终字符串的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将解决以下问题。 给定仅包含字符a和b的字符串,我们的任务是从字符串中删除子字符串ab。并打印剩余的字符串。 在这里,这个想法很容易解决。每个只有a和b的字符串最后都会缩小为a或b。 让我们看看解决问题的步骤。 初始化字符串。 为a和b初始化两

  • 给你一个整数列表,长度为偶数。考虑这样一个操作,您在nums中选择任意数字,并用[1,max(nums)]之间的值更新它。返回所需的操作数,使得对于每个i,nums[i]+nums[n-1-i]等于相同的数。问题可以贪婪地解决。 注意:n是数组的大小,max(nums)是nums中的最大元素。 null 设i=0,nums[0]+nums[6-1-0]=4。 i=1,nums[1]+nums[6-

  • 给定一个正整数数组,返回最大和。 只有一个限制:如果你选择两个连续的元素,你不允许在你的总数中添加任何后续的元素,你的总和是到那个点为止的累积量。你的目标是最大化你的总和。 输入:[1,4,2,10] 产出:14 输入:[1,4,5,3] 产出:9 我在第一个测试案例中一直失败。我尝试了DP解决方案,但产生了相同的结果?任何帮助都将不胜感激。

  • 本文向大家介绍C ++中数组中存在的最大连续数,包括了C ++中数组中存在的最大连续数的使用技巧和注意事项,需要的朋友参考一下 给定一个正整数数组。目的是找到其中存在的最大连续数。首先,我们将对数组进行排序,然后比较相邻元素arr [j] == arr [i] +1(j = i + 1),如果差为1,则递增计数,索引i ++,j ++,否则更改计数= 1 。将到目前为止找到的最大计数存储在maxc

  • 本文向大家介绍C ++中的最大相等频率,包括了C ++中的最大相等频率的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个正整数的数组num,我们必须返回给定数组num的数组前缀的最大可能长度,这样就可以从该前缀中精确删除一个元素,以便其中出现的每个数字都会具有相同的频率。如果没有剩余元素,则删除一个元素后,仍会认为每个出现的数字具有相同的频率。 因此,如果输入类似于[3,3,2,2,6,4,