《牛客》-D 小红的中位数

思路这次采用两种写法 1.采用模拟的方式(用vector进行优化) 2.可以算是思维进行‘优化’

思路大家都挺好想的,就是其中的细节(具体思路可以参考以下代码,豁然开朗(逃~))

ACcode:

1(优雅帅气stl)

#include 
using namespace std;
//#define int long long
const int N=1e5+10;
int n;
void solve() {
	cin>>n;
	vector a(n),b(n);
	for(int i=0; i>a[i];
		b[i]=a[i];
	}
	sort(a.begin(),a.end());
	for(int i=0; i>1,r=a.size()>>1;
		if(!(a.size()%2))	l--;

		cout<>tt;
	while(tt--)	{
		solve();
	}
	return 0;
}

2(稳定思维判断)

#include 
using namespace std;
#define int long long
const int N=1e5+10;
int n,a[N],b[N];
void solve() {
	scanf("%lld",&n);
	for(int i=1; i<=n; i++) {
		scanf("%lld",&a[i]);
		b[i]=a[i];
	}
	sort(b+1,b+1+n);
	//1258
	if(n%2==0) {
		for(int i=1; i<=n; i++) {
			if(a[i]<=b[n/2]) {
				printf("%.1lf\n",(double)(b[n/2+1]*1.0));
			} else  printf("%.1lf\n",(double)(b[n/2]*1.0));
		}
	} else {//1 2 3
		for(int i=1; i<=n; i++) {
			if(a[i]>tt;
	while(tt--)	{
		solve();
	}
	return 0;
}

over~

你可能感兴趣的:(c++,算法,stl)