求调,看看思路有没有错(悬关
查看原帖
求调,看看思路有没有错(悬关
1252442
lucy2012楼主2024/3/21 21:32
#include<bits/stdc++.h>
using namespace std;
int a[100010], n, minn = 1000000010, b[100010], cnt,cnt1;
int main() {
	cin >> n;
	cnt1=n;
	for (int i = 1; i <= n; i++)
		cin >> a[i];
	sort(a + 1, a + 1 + n);
	do {
		cnt=1;
		for (int i = 1; i <= cnt1; i++) {
			int num = 0;
			if (a[i] == a[i - 1] + 1 || num == 0)
				num++;
			if (a[i] == a[i - 1])
				b[cnt++] = a[i];
			else {
				if (num < minn)
					minn = num;
				num = 0;
			}
		}
		for(int i=1;i<=cnt;i++)
			a[i]=b[i];
		cnt1=cnt;
	}while(cnt!=1);
	cout<<minn;
	return 0;
}
2024/3/21 21:32
加载中...