我们给了前N个自然数的排列数组。这里的目标是找到满足以下条件的元素的索引对-
如果数组是Arr [],则i,j是索引,对元素对进行计数,使Arr [i] + Arr [j] = max(Arr [x])使得i <= x <= j。
即,Arr [i]和A [j]之和等于在这两个段之间出现的最大元素。
Arr[]= { 2,4,1,3,6,5 }
输出结果
满足给定条件的索引对的数量:1
说明-对的总和给出-
2 + 4 = 6,最大为6,但不在2到4之间。
2 + 1 = 3,3不在2和1之间,并且它们之间的最大值为4。
2 + 3 = 5,5不在2到3之间,它们之间的最大值是4。
2 + 6 = 8,8不在2到6之间,最大值在4之间。
相似地
1 + 5 = 6,6在1到5之间,最大值在6之间。
在所有满足条件的对中,只有1对存在。
Arr[]= { 1,2,5,4,3 }
输出结果
满足给定条件的索引对的数量:2
说明-对的总和给出-
1 + 5 = 6,最大为6,但不在1到5之间。
1 + 4 = 5,5在1到4之间,最大值在5之间。
2 + 3 = 5,5在2到3之间,并且它们之间的最大值为5。
1 + 3 = 4,4在1到3之间,但它们之间的最大值为5。
在所有满足条件的2对中。
整数数组Arr []存储数字并确定其长度。
函数countPairs(int A [],int n)将一个数组及其大小n作为输入,并返回满足上述条件的对数。
变量计数用于存储此类对的初始值0。
用第一个元素及其在maxindex中的索引初始化为max1,以存储到目前为止找到的最大值的值和索引。
开始使用for循环遍历数组。
如果给定A [j]> = max1,则在嵌套的for循环内,然后用j更新max1及其索引。
对于每对A [i]和A [j],如果sum等于max1且索引maxindex在i和j之间,则满足条件时增加计数。
在结束之后,两个循环都返回存在于count中的结果。
// CPP implementation of the approach #include<bits/stdc++.h> using namespace std; //函数返回计数 //必需的索引对 int countPairs(int A[], int n){ //要存储所需的计数 int count = 0; int i,j,k; int max1=A[0]; int maxindex=0; for ( i = 0; i<n-1; i++){ for(j=i+1;j<n;j++){ if(A[j]>=max1){ max1=A[j]; maxindex=j; } if(A[i]+A[j]==max1 && maxindex>=i && maxindex<=j) count++; } } //返回子段数 return count; } int main(){ int Arr[] = {3, 4, 6, 1, 5, 2}; int size =6; cout <<endl<<"满足给定条件的索引对的数量:" <<countPairs(Arr,size); return 0; }
输出结果
满足给定条件的索引对的数量: 1
每个代理都有一个私有布尔变量“Happy?”。如何用[Happy?=True]计算特工人数? 就餐时有没有直接的方法?或者我遍历了所有的代理,然后逐个计算? 更新: 我尝试过全局调度方法:https://repast.github.io/docs/RepastReference/RepastReference.html#schedule-全球的 当我使用ContextBuilder中的@schdu
问题内容: 我的Oracle数据库中具有以下结构: 我想查询只需要检查前连续几天并获取“分配”所在的计数的查询。 我想按日期选择,例如。 示例输出:对于日期,计数为。 新问题。通过Lukas Eder的查询,计数始终为或。但预期是。为什么?! 卢卡斯·埃德(Lukas Eder)的代码 预期的输出是这样的,First_day end不需要最后一天: 问题答案: 此查询将产生每一行的计数: 然后,您
问题内容: 我有以下DataFrame: 如您所见,列用作索引。我想获取该行的序数,在这种情况下应该是。 被测试的列可以是索引列(在这种情况下也可以)或常规列,例如,我可能想找到满足条件的行的索引。 问题答案: 您可以这样使用np.where: 返回的值是一个数组,因为一列中可能有多个具有特定索引或值的行。
问题内容: 我在SQL Server中具有以下数据结构表: 等等。 我需要做的是获取所有连续的日子,其中Allocation = 0,并采用以下形式: 等等。 可以在SQL中执行此操作吗?如果可以,如何执行? 问题答案: 在此答案中,我将假定“ id”字段按递增日期进行排序时,对行进行连续编号,就像示例数据中所做的那样。(如果不存在,则可以创建这样的列)。 这是此处和此处描述的技术示例。 1)在相
我需要两种while循环的帮助。
我试图从我的数据框中得到不同健康状况的男性和女性的平均年龄。 我可以得到平均年龄单独使用 但是有没有一种更雄辩的方法将它们全部汇总到一个表中,以便平均年龄的输出显示为 非常感谢。