有關計算拒絕邀請的人員的 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP