1.连续组合数字
#include<iostream>
#include<vector>
using namespace std;
int main() {
int n;
cin >> n;
int count = 0;
int m = n;
vector<int> data(n);
vector<int> set(n,0);
for (int i = 0; i < n; i++) {
cin >> data[i];
}
int max = data[0];
int min = data[0];
for (int i = 0; i < n; i++) {
if (data[i] == 0) {
count++;
}
else if (max < data[i]) max = data[i];
else if (min > data[i]) min = data[i];
}
if (count >= n - 1) {
cout << "YES" << "+" << count << endl;
}
else if (max - min != n - 1) {
}
else {
for (int i = 0; i < n; i++) {
if (data[i] != 0) {
if (set[data[i] - min] == 1) {
cout << "NO" << "+" << count << endl;
break;
}
set[data[i] - min]++;
}
}
cout << "YES" << "+" << count << endl;
}
//system("pause");
return 0;
}
2

本文探讨了两种算法实现:一是判断一组连续输入的整数是否构成连续序列,二是实现消消乐游戏的基本消除逻辑。前者通过检查序列中数字的最小值和最大值之间的差是否等于元素数量减一来判断连续性;后者则通过查找并标记三连相同的字符进行消除,计数并更新游戏矩阵。
最低0.47元/天 解锁文章
1635

被折叠的 条评论
为什么被折叠?



