简单粗暴的排序
超半的数
https://ac.nowcoder.com/acm/problem/22222
#include<iostream> #include<iomanip> #include<algorithm> using namespace std; #define N 1005 int main() { int n; cin>>n; int a[N]; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+n); if(n%2==0)cout<<a[n/2]<<endl; else cout<<a[n/2+1]<<endl; }
题目中说一定存在多数,经过排序,中间位置就是多数
比如说,总长度为4,那么下标为2的数为所求;总长度为7,那么下标为4的数为所求