题解 | #小Q的排序#
小Q的排序
http://www.nowcoder.com/practice/62a677c595fb471e832e4ed4107d3c63
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, ma = INT_MIN, mi = INT_MAX;
vector<int> v;
cin >> n;
while (n--) {
int a;
cin >> a;
(ma < a) && (ma = a);
(mi > a) && (mi = a);
v.emplace_back(a);
}
vector<int> tmp = v;
sort(tmp.begin(), tmp.end());
if (tmp == v) {
cout << 0 << endl;
return 0;
}
if (v[v.size() - 1] == ma || v[0] == mi) {
cout << 1 << endl;
return 0;
}
int r = 1;
(v[0] == ma) && (++r);
(v[v.size() - 1] == mi) && (++r);
(v[0] != mi && v[v.size() - 1] != ma) && (++r);
cout << r << endl;
return 0;
}
查看11道真题和解析