C++程序查找被盗键盘的最小可能数量
假设我们有一个包含n个元素的数组A。有一个电子商店,昨晚发生了抢劫。商店里所有的键盘都按升序从某个整数x开始编号。例如,对于x=4并且商店里有3个键盘,则设备的索引为4、5和6。如果x=10并且有7个,则键盘的索引为10、11、12、13、14、15和16。抢劫后,只剩下n个键盘。它们的索引存储在数组A中。我们需要找到被盗键盘的最小可能数量。
因此,如果输入类似于A = [10, 13, 12, 8],则输出将为2,因为如果x = 8,则被盗键盘的最小数量为2。索引为9和11的键盘被盗了。
步骤
为了解决这个问题,我们将遵循以下步骤:
sort the array A n := size of A return A[n - 1] - A[0] + 1 - n
示例
让我们看看以下实现以更好地理解:
#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A) {
sort(A.begin(), A.end());
int n = A.size();
return A[n - 1] - A[0] + 1 - n;
}
int main() {
vector<int> A = { 10, 13, 12, 8 };
cout << solve(A) << endl;
}输入
{ 10, 13, 12, 8 }输出
2
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP