有關計算拒絕邀請的人員的 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 次瀏覽

開啟您的職業生涯

完成課程可獲得認證

開始學習
廣告
© . All rights reserved.