有关计算拒绝邀请的人员的 C++ 代码


假设我们有一个包含 n 个元素的数组 A,并且所有元素都是唯一的。有 n 名现场决赛选手可以加入一家公司,他们的资格排名存在于数组 A 中。我们必须找出在决赛的现场比赛中拒绝邀请参​​赛的最少选手人数。将会有 25 人参​​赛,其中一些人接受,一些人拒绝。

因此,如果输入为 A = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28],则输出将为 3,因为第 1、第 13 和第 27 名选手肯定已经拒绝了。

步骤

为了解决此问题,我们将按以下步骤进行 −

mx := 0
for initialize i := 0, when i < size of A, update (increase i by 1), do:
   mx := maximum of mx and A[i]
return maximum of mx - 25 and 0

示例

让我们看看以下实现以获得更好的理解 −

#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A){
   int mx = 0;
   for (int i = 0; i < A.size(); i++)
      mx = max(mx, A[i]);
   return max(mx - 25, 0);
}
int main(){
   vector<int> A = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
      24, 25, 26, 28 };
   cout << solve(A) << endl;
}

输入

{ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28 }

输出

3

更新日期:30-3-2022

138 次浏览

开启您的职业生涯

完成课程可获得认证

开始学习
广告