有关计算拒绝邀请的人员的 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
广告