自己的思路:
大于数组中最小值&&小于数组中最大值的即满足条件的。
class Solution {
public:
int countElements(vector<int>& nums) {
int mi = nums[0], ma = nums[0], ans = 0;
for (auto& a : nums) {
mi = min(mi, a);
ma = max(ma, a);
}
for (auto& a : nums) {
if (mi < a && ma > a) ans++;
}
return ans;
}
};
别人的思路:排序 ,虽然复杂度高了,但是写的速度提升了。
class Solution {
public:
int countElements(vector<int>& nums) {
int ans = 0;
sort(nums.begin(), nums.end());
for (auto& each : nums) {
if (each != nums[0] && each != nums.back()) ans++;
}
return ans;
}
};